projectUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/inst"
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
An antisense transcript to the miR34a HG was detected using the UCSC genome browser.
The USCS genome browser was utilized for the bioinformatic evaluation of antisense transcription at the miR34a locus.
url <- fileMap(type = "png")["Figure 1a"][[1]]
knitr::include_graphics(file.path(projectUrl, url))
A schematic picture of the miR34a locus from the UCSC genome browser (hg38) including miR34a HG and mature miR34a, and LINC01759. H3K4me3 ChIP-seq and conservation over the locus is also shown.
Refseq annotation supports the presence of a transcript orininating in the antisense orientation from the miR34a gene.
projectUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/inst"
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
We wished to examine expression of miR34a asRNA in different cancer tissues and, therefore, utilized a panel of common cancer cell lines to detect miR34a asRNA expression, as well as, miR34a HG. We included both p53 wild type, p53 mutated, and p53 null cell lines in the cell line panel due to the fact that miR34a is a known downstream target of p53.
Cell culture and PCR
Cells were cultured with the appropriate growth medium and seeded at a desity between 50-75% confluency. The following day, RNA was extracted using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. PCR was run for 35 or 38 or 16 cycles for miR34a asRNA, miR34a HG, and beta-actin, respectivley, with 58˚C annealing temperature. PCR products were analyzed on a 2% agarose gel.
Primers
primers <- data.frame(
name=c(
"miR34a asRNA F1",
"miR34a asRNA R1",
"miR34aHG_F",
"miR34aHG_R",
"B-actin_F",
"B-actin_R"
),
sequence=c(
"AGC GGC ATC TCC TCC ACC TGA AA",
"TTG CCT CGT GAG TCC AAG GAG AAT",
"TCT GCT CCA GTG GCT GAT GAG AAA",
"GTT CAC TGG CCT CAA AGT TGG CAT",
"AGG TCA TCA CCA TTG GCA ATG AG",
"CTT TGC GGA TGT CCA CGT CA"
)
)
primers
| name | sequence |
|---|---|
| miR34a asRNA F1 | AGC GGC ATC TCC TCC ACC TGA AA |
| miR34a asRNA R1 | TTG CCT CGT GAG TCC AAG GAG AAT |
| miR34aHG_F | TCT GCT CCA GTG GCT GAT GAG AAA |
| miR34aHG_R | GTT CAC TGG CCT CAA AGT TGG CAT |
| B-actin_F | AGG TCA TCA CCA TTG GCA ATG AG |
| B-actin_R | CTT TGC GGA TGT CCA CGT CA |
url <- fileMap(type = "png")["Figure 1b"][[1]]
knitr::include_graphics(file.path(projectUrl, url))
Semi-quantitative PCR data from the screening of a panel of cell lines. * Indicates that, although the cell line is p53wt, other mechanisms are present which inhibit p53 function.
We were able to detect co-expression of both miR34a HG and miR34a AS in a variety of cell lines, including HCT116 human colon cancer cells and 293T human embryonic kidney cells.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] gtable_0.2.0 ggthemes_3.4.0
## [3] printr_0.1 forcats_0.2.0
## [5] stringr_1.2.0 dplyr_0.7.4
## [7] purrr_0.2.4 readr_1.1.1
## [9] tidyr_0.8.0 tibble_1.4.2
## [11] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [13] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 Matrix_1.2-12 rmarkdown_1.9
## [25] liftr_0.8 splines_3.4.3 selectr_0.3-1
## [28] foreign_0.8-69 ansistrings_1.0.0.9000 munsell_0.4.3
## [31] rgeolocate_1.0.1 broom_0.4.3 compiler_3.4.3
## [34] modelr_0.1.1 pkgconfig_2.0.1 mnormt_1.5-5
## [37] htmltools_0.3.6 XML_3.98-1.9 crayon_1.3.4
## [40] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [43] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [46] stringi_1.1.6 reshape2_1.4.3 bindrcpp_0.2
## [49] xml2_1.2.0 rematch2_2.0.1 tools_3.4.3
## [52] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [55] survival_2.41-3 yaml_2.1.16 colorspace_1.3-2
## [58] rvest_0.3.2 bindr_0.1 haven_1.1.1
We interogated RNA sequencing data from TCGA to determine in miR34a and miR34a asRNA expression was correlated in both TP53 wild type and mutated samples.
RNA-Seq data and copy number data were downloaded from TCGA and processed as described previously (Ashouri et al. 2016). Briefly, RNA-Seq data were aligned to the human hg19 assembly and quantified using GENCODE (v19) annotated HTSeq-counts and FPKM normalizations. Expression data from miR34a and miR34 asRNA (identified as RP3-510D11.2) were used for further analysis. Copy number amplitudes for GENCODE genes were determined from segmented copy-number data. Samples that were diploid for miR34 asRNA were identified as those samples that had copy number amplitudes between -0.1 and 0.1.
Somatic mutation data were downloaded from the Genomics Data Commons data portal (GDC) as mutation annotation format (maf) files, called using Mutect2 on 30/10/2017 (v7) (Grossman et al. 2016).
data <- getData("Figure 1c")
#normalize expression values
data <- mutate(
data,
RP3 = log2(RP3 / max(RP3)),
miR34a = log2(miR34a / max(miR34a))
)
#add BRCA subtypes
data <- data %>%
mutate(PAM50 = if_else(is.na(PAM50), "", PAM50)) %>%
mutate(cancer_PAM50 = gsub("BRCA", "BRCA ", paste(cancer, PAM50, sep = "")))
#sort
data <- arrange(data, cancer_PAM50, TP53, RP3)
#remove infinite data
data <- filter(data, !is.infinite(RP3) & !is.infinite(miR34a))
#diploid only
data <- filter(data, abs(RP3_cna) < 0.1)
#plot
plotTCGAcorrelation(data, type = "diploid only")
##save to pdf
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 1c"][[1]])
# pdf(path, width = 7.7, height = 4)
# plotTCGAcorrelation(data, type = "diploid only")
# invisible(dev.off())
A graphical depiction of the TCGA correlation analysis. Bladder Urothelial Carcinoma (BLCA), Breast invasive carcinoma (BRCA), Head and Neck squamous cell carcinoma (HNSC), Lower Grade Glioma (LGG), Liver hepatocellular carcinoma (LIHC), Lung adenocarcinoma (LUAD), Lung squamous cell carcinoma (LUSC), Ovarian serous cystadenocarcinoma (OV), Prostate adenocarcinoma (PRAD), Skin Cutaneous Melanoma (SKCM), Stomach adenocarcinoma (STAD).
See Supplementary Figure 1a for R-squared and p-values corersponding with the analysis.
miR34a asRNA and miR34a tend to be highly correlated in the cancer types examined in both TP53 wild type and mutated samples. In addition, the results indicate that both miR34a asRNA and miR34a expression levels are decreased in the presence of TP53 mutations.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] bindrcpp_0.2 gtable_0.2.0
## [3] ggthemes_3.4.0 printr_0.1
## [5] forcats_0.2.0 stringr_1.2.0
## [7] dplyr_0.7.4 purrr_0.2.4
## [9] readr_1.1.1 tidyr_0.8.0
## [11] tibble_1.4.2 ggplot2_2.2.1.9000
## [13] tidyverse_1.2.1 knitr_1.19
## [15] miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 Matrix_1.2-12 rmarkdown_1.9
## [25] liftr_0.8 splines_3.4.3 selectr_0.3-1
## [28] foreign_0.8-69 ansistrings_1.0.0.9000 munsell_0.4.3
## [31] rgeolocate_1.0.1 broom_0.4.3 compiler_3.4.3
## [34] modelr_0.1.1 pkgconfig_2.0.1 mnormt_1.5-5
## [37] htmltools_0.3.6 XML_3.98-1.9 crayon_1.3.4
## [40] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [43] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [46] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [49] rematch2_2.0.1 tools_3.4.3 glue_1.2.0
## [52] hms_0.4.1 parallel_3.4.3 survival_2.41-3
## [55] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [58] bindr_0.1 haven_1.1.1
projectUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/inst"
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
In order to define the 3’ transcription termination site for the miR34a asRNA, 3’-RACE was performed.
Cell culture and 3-prime RACE
All cell lines were cultured at 5% CO2 and 37° C with U2OS cells grown in McCoy’s 5a (Life Technologies). All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. U2OS cell RNA was polyA-tailed using yeast polyA polymerase after which cDNA was synthesized using oligo(dT) primers. Nested-PCR was performed first using a forward primer in miR34a asRNA exon 1 (miR34a_asRNA_F10) and a tailed oligo(dT) primer (polyT_T7FAM) followed by a second PCR using an alternate miR34a asRNA exon 1 primer (miR34a_asRNA_F1) and a reverse primer binding to the tail of the previously used oligo(dT) primer (FAMprimer). PCR products were gel purified and cloned the Strata Clone Kit (Agilent Technologies), and sequenced.
Primers
primers <- data.frame(
name = c("miR34a_asRNA_F10", "polyT_T7FAM", "miR34a_asRNA_F1", "FAMprimer"),
sequence = c(
"ACG CGT CTC TCC AGC CCG GGA T",
"CAG TGA ATT GTA ATA CGA CTC ACT ATA GGG ACA TCC GTA GCT CGT CCA GGA CCC TTT TTT TTT TTT TTT TTT VN",
"AGC GGC ATC TCC TCC ACC TGA AA",
"CCG TAG CTC GTC CAG GAC CC"
)
)
primers
| name | sequence |
|---|---|
| miR34a_asRNA_F10 | ACG CGT CTC TCC AGC CCG GGA T |
| polyT_T7FAM | CAG TGA ATT GTA ATA CGA CTC ACT ATA GGG ACA TCC GTA GCT CGT CCA GGA CCC TTT TTT TTT TTT TTT TTT VN |
| miR34a_asRNA_F1 | AGC GGC ATC TCC TCC ACC TGA AA |
| FAMprimer | CCG TAG CTC GTC CAG GAC CC |
data <- tibble(
gene = readr::parse_factor(
c(rep("miR34a asRNA", 5), rep("lnc34a", 3), "miR34a asRNA F1", "miR34a asRNA F10"),
levels = c("miR34a asRNA", "lnc34a", "miR34a asRNA F1", "miR34a asRNA F10")
),
feature = c(
"exon", "intron", "exon", "intron", "exon",
"exon", "intron", "exon",
"primer", "primer"
),
start = c(
9181991, 9182316, 9183633, 9183807, 9191393,
9181737, 9182295, 9196912,
9182279, 9182223
),
stop = c(
9182316, 9183633, 9183807, 9191393, 9191686,
9182295, 9196912, 9197043,
9182301, 9182244
)
)
p <- ggplot(data = NULL) +
gggenes::geom_gene_arrow(
data = filter(data, feature %in% c("exon") & gene == "miR34a asRNA"),
aes(xmin = start, xmax = stop, y = gene, fill = gene),
arrowhead_width = unit(0, "mm"),
arrowhead_height = unit(0, "mm"),
colour = "gray"
) +
geom_segment(
data = filter(data, feature == "intron" & gene == "miR34a asRNA"),
aes(x = start, xend = stop, y = gene, yend = gene),
linetype = "dotted",
colour = "gray",
size = 1
) +
geom_segment(
data = filter(data, feature == "primer"),
aes(x = start, xend = stop, y = 1.1, yend = 1.1, colour = gene),
size = 5
) +
labs(x = "Chromosome 1") +
guides(fill = FALSE, colour = guide_legend(title = "Primer"))
plotRmarkdown(p) +
theme_void() +
scale_fill_brewer()
3’-RACE schematic illustrating primer placement on the miR34a asRNA transcript for 3’-RACE.
url <- fileMap(type = "png")["Figure 1d"][[1]]
knitr::include_graphics(file.path(projectUrl, url))
3’-RACE sequencing results displayed in the UCSC genome browser together with the annotated miR34a asRNA transcript (LINC01759) from Refseq
Sequencing of the resulting cloned cDNA indicated the transcripts 3’ transcription termination site to be 125bp upstream of the RP3-510D11.2 transcript’s annotated termination site.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] bindrcpp_0.2 gtable_0.2.0
## [3] ggthemes_3.4.0 printr_0.1
## [5] forcats_0.2.0 stringr_1.2.0
## [7] dplyr_0.7.4 purrr_0.2.4
## [9] readr_1.1.1 tidyr_0.8.0
## [11] tibble_1.4.2 ggplot2_2.2.1.9000
## [13] tidyverse_1.2.1 knitr_1.19
## [15] miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] broom_0.4.3 compiler_3.4.3 modelr_0.1.1
## [37] pkgconfig_2.0.1 mnormt_1.5-5 htmltools_0.3.6
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] survival_2.41-3 yaml_2.1.16 colorspace_1.3-2
## [61] rvest_0.3.2 bindr_0.1 haven_1.1.1
projectUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/inst"
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
We desired to determine the 5’-start site for the miR34a asRNA.
Cell culture and PCR
To accomplish this we performed the primer walk assay. All cell lines were cultured at 5% CO2 and 37° C with HEK293T cells cultured in DMEM high glucose (Hyclone). All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. RNA was extracted using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. PCR was performed for 35 cycles at 62°C annealing temperature and the resulting products were analyzed on a 2% agarose gel.
Primers
primers <- data.frame(
name=c(
"miR34aAS_F10",
"miR34aAS_F11",
"miR34aAS_F12",
"miR34aAS_F13",
"miR34aAS_F14",
"miR34aAS_F15",
"miR34aAS_R1"
),
sequence=c(
"ACG CGT CTC TCC AGC CCG GGA T",
"ATC TGC GTG GTC ACC GAG AAG CA",
"CGC ACG GAC TGA GAA ACA CAA G",
"ACG GAG GCT ACA CAA TTG AAC AGG",
"AGG GAA GAA AGA ACT AGC CGA GCA",
"CAT TTG CTG CAA TAT CAC CGT GGC",
"TTG CCT CGT GAG TCC AAG GAG AAT"
)
)
primers
| name | sequence |
|---|---|
| miR34aAS_F10 | ACG CGT CTC TCC AGC CCG GGA T |
| miR34aAS_F11 | ATC TGC GTG GTC ACC GAG AAG CA |
| miR34aAS_F12 | CGC ACG GAC TGA GAA ACA CAA G |
| miR34aAS_F13 | ACG GAG GCT ACA CAA TTG AAC AGG |
| miR34aAS_F14 | AGG GAA GAA AGA ACT AGC CGA GCA |
| miR34aAS_F15 | CAT TTG CTG CAA TAT CAC CGT GGC |
| miR34aAS_R1 | TTG CCT CGT GAG TCC AAG GAG AAT |
Primer placement at the locus can be viewed in Supplementary Figure 2a.
url <- fileMap(type = "png")["Figure 1e"][[1]]
knitr::include_graphics(file.path(projectUrl, url))
The semi-quantitative PCR results from the primer walk assay performed using HEK293T cells.
It appears as though the miR34a asRNA transcript start site is somewhat upstream of the annotated start site. Although there is some product present for the F12 primer, the majority of transcription seems to be originating from the F11 primer. This indicates that the start site is between 90-224bp upstream of the annotated start site.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] bindrcpp_0.2 gtable_0.2.0
## [3] ggthemes_3.4.0 printr_0.1
## [5] forcats_0.2.0 stringr_1.2.0
## [7] dplyr_0.7.4 purrr_0.2.4
## [9] readr_1.1.1 tidyr_0.8.0
## [11] tibble_1.4.2 ggplot2_2.2.1.9000
## [13] tidyverse_1.2.1 knitr_1.19
## [15] miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] broom_0.4.3 compiler_3.4.3 modelr_0.1.1
## [37] pkgconfig_2.0.1 mnormt_1.5-5 htmltools_0.3.6
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] survival_2.41-3 yaml_2.1.16 colorspace_1.3-2
## [61] rvest_0.3.2 bindr_0.1 haven_1.1.1
We utilized a bioinformatic approach to evaluate the coding potential of the miR34a asRNA transcript. The Coding-potential assessment tool uses a linear regression model to evaluate coding-potential by examining ORF length, ORF coverage, Fickett score and hexamer score. We further confirmed these results using the Coding-potential Calculator which utilizes a support based machine-based classifier and accesses an alternate set of discriminatory features.
Protein-coding capacity was evaluated using the Coding-potential Assessment Tool and Coding-potential Calculator with default settings. Transcript sequences for use with Coding-potential Assessment Tool were downloaded from the UCSC genome browser using the following IDs: HOTAIR (ENST00000455246.1), XIST (ENST00000429829.1), β-actin (ENST00000331789.5), Tubulin (ENST00000427480.1), and MYC (ENST00000377970). Transcript sequences for use with Coding-potential Calculator were downloaded from the UCSC genome browser using the following IDs: HOTAIR (uc031qho.1), β-actin (uc003soq.4).
Coding Potential Assesment Tool
cpat <- getData("Figure 1f")
cpat
| sequenceName | RNAsize | ORFsize | FicketScore | hexamerScore | codingProbability | codingLabel |
|---|---|---|---|---|---|---|
| miR34a asRNA | 795 | 285 | 0.801 | 0.258 | 0.301 | no |
| HOTAIR | 918 | 144 | 0.919 | 0.268 | 0.126 | no |
| XIST | 19280 | 411 | 0.663 | -0.128 | 0.027 | no |
| β-actin | 1917 | 1128 | 1.350 | 0.698 | 1.000 | yes |
| Tubulin | 2632 | 1119 | 1.277 | 0.515 | 1.000 | yes |
| MYC | 2345 | 1320 | 1.223 | 0.484 | 1.000 | yes |
Coding potential analysis results from the Coding-potential Assessment Tool including miR34a asRNA and two characterized non-coding transcripts (HOTAIR and XIST) and 3 known coding transcripts (β-actin, tubulin, and MYC).
*Results for Coding-potential Calculator are located in Supplementary Figure 2e.
Results indicated that miR34a asRNA has a similar lack of coding capacity to the known non-coding transcripts HOTAIR and XIST and differs greatly when examining these parameters to the known coding transcripts beta-actin, tubulin, and MYC. However, to fully evaluate coding potential methods such as mass spectrometry or ribosome profiling must be used.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] bindrcpp_0.2 gtable_0.2.0
## [3] ggthemes_3.4.0 printr_0.1
## [5] forcats_0.2.0 stringr_1.2.0
## [7] dplyr_0.7.4 purrr_0.2.4
## [9] readr_1.1.1 tidyr_0.8.0
## [11] tibble_1.4.2 ggplot2_2.2.1.9000
## [13] tidyverse_1.2.1 knitr_1.19
## [15] miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] broom_0.4.3 compiler_3.4.3 modelr_0.1.1
## [37] pkgconfig_2.0.1 mnormt_1.5-5 htmltools_0.3.6
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] survival_2.41-3 yaml_2.1.16 colorspace_1.3-2
## [61] rvest_0.3.2 bindr_0.1 haven_1.1.1
miR34a is a known downstream target of p53 and has been previously shown to exhibit increased expression with cellular apoptotic signaling. We hypothesized that miR34a asRNA may be regulated in a similar fashion whereby transcription is stimulated by activation of p53. To test this we treated HCT116 and HEK293t cells with 200 ng/ml of the DNA damaging agent doxorubicin for 24 hours and monitored miR34a asRNA expression.
Cell culture and QPCR
All cell lines were cultured at 5% CO2 and 37° C with HEK293T cells cultured in DMEM high glucose (Hyclone) and HCT116 cells in McCoy’s 5a (Life Technologies). All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. Cells were plated at 300,000 cells per well in a 6-well plate and cultured overnight. The following day cells were treated with 0, 100, 200, or 500 ng/ml doxorubicin for 24hrs. RNA was extracted using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. QPCR was carried out using KAPA 2G SYBRGreen (Kapa Biosystems) using the Applied Biosystems 7900HT machine with the cycling conditions: 95 °C for 3 min, 95 °C for 3 s, 60 °C for 30 s. qPCR primers are shown below.
Analysis
Two experimental (technical) replicates were included in each QPCR run and delta ct was calculated for each sample using the mean of the gene of interest’s technical replicates and the house keeping gene’s technical replicates. delta-delta ct was calculated for each sample by subtracting the median dct value for the corresponding untreated samples. Three independant experiments (biological replicates) were performed in total. The Student’s t-test was used to compare the treated vs untreated group’s delta-delta ct values for both genes.
Primers
primers <- data.frame(
name=c(
"ß-actin Fwd",
"ß-actin Rev",
"miR34a HG_F",
"miR34a HG_R",
"miR34a_asF1",
"miR34a_asR1"
),
sequence=c(
"AGGTCATCACCATTGGCAATGAG",
"CTTTCGGGATGTCCACGTCA",
"TCTGCTCCAGTGGCTGATGAGAAA",
"GTTCACTGGCCTCAAAGTTGGCAT",
"AGCGGCATCTCCTCCACCTGAAA",
"TTGCCTCGTGAGTCCAAGGAGAAT"
)
)
primers
| name | sequence |
|---|---|
| ß-actin Fwd | AGGTCATCACCATTGGCAATGAG |
| ß-actin Rev | CTTTCGGGATGTCCACGTCA |
| miR34a HG_F | TCTGCTCCAGTGGCTGATGAGAAA |
| miR34a HG_R | GTTCACTGGCCTCAAAGTTGGCAT |
| miR34a_asF1 | AGCGGCATCTCCTCCACCTGAAA |
| miR34a_asR1 | TTGCCTCGTGAGTCCAAGGAGAAT |
data <- getData("Figure 2a")
#calculate dct
groups <- c("Treatment", "Biological Replicate", "Cell line", "gene")
gois <- c("lncTAM34a", "miR34a HG")
data <- technicalMeans(data, groups) %>%
dct(., gois, Actin, groups)
#calculate ddct
groups[groups == "gene"] <- "GOI"
logical <- tibble(
`Biological Replicate` = pull(data, `Biological Replicate`) == 1,
Treatment = pull(data, Treatment) == "untreated"
)
data <- data %>%
ddct(., logical, groups) %>%
folds(.)
#calculate stats
stats <- calcStats(data, Treatment, "untreated", groups) %>%
pFormat(.)
#prepare for plotting
#vertical lines and labels
vl <- stats %>%
group_by(`Cell line`, GOI) %>%
summarize(
max = max(CI95h),
pValue = as.numeric(min(pValue))
) %>%
ungroup() %>%
mutate(max = max + c(0, 0.4, 0, 0)) %>%
pFormat(.) %>%
mutate(
x = case_when(
GOI == "lncTAM34a" ~ 1 - 0.25,
GOI == "miR34a HG" ~ 1 + 0.25
),
xend = case_when(
GOI == "lncTAM34a" ~ 2 - 0.25,
GOI == "miR34a HG" ~ 2 + 0.25
),
pFormat = pFormat,
labelX = 1.5
)
data <- data %>%
mutate(Treatment = case_when(
Treatment == "untreated" ~ 0,
Treatment == "doxorubicin" ~ 200,
TRUE ~ NaN
)) %>%
mutate(Treatment = parse_factor(Treatment, levels = c("0", "200")))
stats <- stats %>%
mutate(Treatment = case_when(
Treatment == "untreated" ~ 0,
Treatment == "doxorubicin" ~ 200,
TRUE ~ NaN
)) %>%
mutate(Treatment = parse_factor(Treatment, levels = c("0", "200")))
p <- ggplot(data = NULL) +
geom_dotplot(
data = data,
aes(
x = Treatment,
y = log2fold,
fill = GOI
),
binwidth = 1/10,
colour = NA,
#alpha = 0.5,
position = position_dodge(width = 0.9),
binaxis='y',
stackdir='center',
dotsize = 3,
show.legend = TRUE
) +
facet_grid(. ~ `Cell line`) +
scale_y_continuous(
"\u0394\u0394Ct",
breaks=c(-1,0,1,2,3,4,5)
) +
labs(
x = "Doxorubicin (ng/ml)",
title = "miR34a asRNA response to p53 induction"
) +
guides(
fill = guide_legend(
title = "Gene",
override.aes = list(size = 6)
))
markdown <- p +
geom_point(
data = stats,
aes(
x = Treatment,
y = mean,
group = GOI
),
size = 6,
position = position_dodge(width = 0.9),
show.legend = FALSE,
shape = 95,
colour = "gray20"
) +
geom_linerange(
data = stats,
aes(
x = Treatment,
ymin = CI95l,
ymax = CI95h,
group = GOI
),
colour = "gray20",
position = position_dodge(width = 0.9),
show.legend = FALSE
) +
geom_label(
data = vl,
aes(
x = labelX,
y = max + 0.25,
label = pFormat,
group = GOI
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
size = 5,
family = "Arial Unicode MS",
position = position_dodge(width = 0.9)
) +
geom_segment(
data = vl,
aes(
x = x,
y = max + 0.1,
xend = xend,
yend = max + 0.1,
group = GOI
),
colour="grey43",
show.legend = FALSE
) +
guides(
fill = guide_legend(
title = "Gene",
override.aes = list(size = 6)
))
plotRmarkdown(markdown)
pdf <- p +
geom_point(
data = stats,
aes(
x = Treatment,
y = mean,
group = GOI
),
position = position_dodge(width = 0.9),
show.legend = FALSE,
shape = 95,
size = 4,
colour = "grey30"
) +
geom_linerange(
data = stats,
aes(
x = Treatment,
ymin = CI95l,
ymax = CI95h,
group = GOI
),
colour = "grey30",
size = 0.3,
position = position_dodge(width = 0.9),
show.legend = FALSE
) +
geom_label(
data = vl,
aes(
x = labelX,
y = max + 0.5,
label = pFormat,
group = GOI
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
colour = "grey30",
size = 2.5,
family = "Arial Unicode MS",
position = position_dodge(width = 0.9)
) +
geom_segment(
data = vl,
aes(
x = x,
y = max + 0.1,
xend = xend,
yend = max + 0.1,
group = GOI
),
colour="grey30",
size = 0.3,
show.legend = FALSE
) +
guides(
fill = guide_legend(
title = "Gene",
override.aes = list(size = 4),
ncol = 1
))
figure <- plotPDF(pdf)
path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 2a"][[1]])
ggsave(
plot = figure,
filename = path,
device = cairo_pdf,
height = 60,
width = 53,
units = "mm"
)
Q-PCR showing miR34a asRNA and miR34a HG levels in HCT116 and HEK293t cells after treatment with 200 ng/ml doxorubicin for 24hrs. The points represent the values obtained from each independant experiment (n = 3). 95% confidence interval (vertical black lines), mean (horizontal black lines), and p-values are shown with the horizontal line under the p-value indicating the comparison that was tested.
We observed increases in miR34a HG and asRNA expression upon doxorubicin treatment indicating that these two transcripts are co-regulated.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] bindrcpp_0.2 gtable_0.2.0
## [3] ggthemes_3.4.0 printr_0.1
## [5] forcats_0.2.0 stringr_1.2.0
## [7] dplyr_0.7.4 purrr_0.2.4
## [9] readr_1.1.1 tidyr_0.8.0
## [11] tibble_1.4.2 ggplot2_2.2.1.9000
## [13] tidyverse_1.2.1 knitr_1.19
## [15] miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] broom_0.4.3 compiler_3.4.3 modelr_0.1.1
## [37] pkgconfig_2.0.1 mnormt_1.5-5 htmltools_0.3.6
## [40] tidyselect_0.2.3 ggfittext_0.5.0 XML_3.98-1.9
## [43] crayon_1.3.4 withr_2.1.1.9000 nlme_3.1-131
## [46] jsonlite_1.5 magrittr_1.5 scales_0.5.0.9000
## [49] cli_1.0.0.9001 stringi_1.1.6 reshape2_1.4.3
## [52] xml2_1.2.0 RColorBrewer_1.1-2 rematch2_2.0.1
## [55] tools_3.4.3 glue_1.2.0 hms_0.4.1
## [58] parallel_3.4.3 survival_2.41-3 yaml_2.1.16
## [61] colorspace_1.3-2 rvest_0.3.2 bindr_0.1
## [64] haven_1.1.1
miR34a is a known downstream target of p53 and has been previously shown to exhibit increased expression upon cellular apoptotic signaling. We hypothesized that miR34a asRNA may be regulated in a similar fashion whereby transcription is stimulated by activation of p53. To test this we treated p53 wild type and p53 null HCT116 cells with increasing concentrations of the DNA damaging agent doxorubicin and monitored miR34a asRNA expression.
Cell culture and QPCR
HCT116 cells were cultured in DMEM high modified (Hyclone, GE healthcare) supplemented with supplemented with 2mM L-glutamine, 50ug/ml Penicillin-Streptomycin and 10% Fetal Calf Serum. 25 x 10^5 HCT116 cells were plated in 6 well plates. 24 hours later media was exchanged and doxorubicin was added to a final concentration of 100, 200 or 500 ng/ml. Cells were harvested for RNA extraction 24 hours later using trypsin. RNA was extracted using Nucleospin RNA kit (Machery-Nagel Ref. 740955) according to manufacturer‟s protocol and DNase treated using Ambion Turbo DNA-free according to manufacturer‟s protocol (Life Technologies Ref. AM1907). cDNA was synthesized using ~500 ng RNA with M-MLV (Life Technologies Ref 28025013) and a mixture of oligo(dT) with nanomers in accordance with the manufacturer’s protocol. qPCR quantification was carried out using the PowerUp SYBR Green Master Mix (Thermo Fisher Scientific, Ref. A25777) on the CFX96 Touch Real-Time PCR Detection System: 50°C for 2 min, 95°C for 2min, and 95°C for 1 sec followed by 60°C for 30 sec repeated for 40 cycles. qPCR primers are shown below.
Analysis
Two experimental (technical) replicates were included in each QPCR run and delta ct was calculated for each sample using the mean of the gene of interest’s technical replicates and the house keeping gene’s technical replicates. Delta-delta ct was calculated for each sample by subtracting the median dct value for the corresponding untreated samples. Three independant experiments (biological replicates) were performed in total. The Student’s t-test was used to compare the p-53 wild type and p-53 null group’s delta-delta ct values in each treatment concentration and for both genes.
Primers
primers <- data.frame(
name=c(
"ß-actin Fwd",
"ß-actin Rev",
"miR34a HG_F",
"miR34a HG_R",
"miR34a_asF1",
"miR34a_asR1"
),
sequence=c(
"AGGTCATCACCATTGGCAATGAG",
"CTTTCGGGATGTCCACGTCA",
"TCTGCTCCAGTGGCTGATGAGAAA",
"GTTCACTGGCCTCAAAGTTGGCAT",
"AGCGGCATCTCCTCCACCTGAAA",
"TTGCCTCGTGAGTCCAAGGAGAAT"
)
)
primers
| name | sequence |
|---|---|
| ß-actin Fwd | AGGTCATCACCATTGGCAATGAG |
| ß-actin Rev | CTTTCGGGATGTCCACGTCA |
| miR34a HG_F | TCTGCTCCAGTGGCTGATGAGAAA |
| miR34a HG_R | GTTCACTGGCCTCAAAGTTGGCAT |
| miR34a_asF1 | AGCGGCATCTCCTCCACCTGAAA |
| miR34a_asR1 | TTGCCTCGTGAGTCCAAGGAGAAT |
data <- getData("Figure 2b")
#calculate dct
groups <- c("Condition", "Treatment", "Biological Replicate", "Cell line", "gene")
gois <- c("lncTAM34a", "miR34a HG")
data <- technicalMeans(data, groups) %>%
dct(., gois, Actin, groups)
#calculate ddct
groups[groups == "gene"] <- "GOI"
logical <- tibble(
Treatment = data$Treatment == 0
)
data <- data %>%
ddct(., logical, groups) %>%
folds(.)
#calculate stats
stats <- calcStats(data, Condition, "HCT116 p53-wt", groups) %>%
pFormat(.)
#setup plotting variables
stats <- stats %>%
group_by(GOI, Treatment) %>%
mutate(
max = max(CI95h),
x = case_when(
Treatment == 0 ~ 1 + 0.25,
Treatment == 100 ~ 2 + 0.25,
Treatment == 200 ~ 3 + 0.25,
Treatment == 500 ~ 4 + 0.25
),
xend = case_when(
Treatment == 0 ~ 1 - 0.25,
Treatment == 100 ~ 2 - 0.25,
Treatment == 200 ~ 3 - 0.25,
Treatment == 500 ~ 4 - 0.25
)
) %>%
ungroup()
p <- ggplot(data = NULL) +
geom_dotplot(
data = data,
aes(x = Treatment, y = log2fold, fill = Condition),
colour = NA,
binwidth = 1/10,
#alpha = 0.5,
position = position_dodge(width = 0.9),
binaxis='y',
stackdir='center',
dotsize = 3,
show.legend = TRUE
) +
facet_grid(. ~ GOI) +
scale_y_continuous("\u0394\u0394Ct", breaks = c(-1,0,1,2,3,4,5))+
labs(x = "Doxorubicin (ng/ml)")
markdown <- p +
geom_point(
data = stats,
aes(x = Treatment, y = mean, group = Condition),
position = position_dodge(width = 0.9),
colour = "gray20",
size = 6,
shape = 95
) +
geom_linerange(
data = stats,
aes(x = Treatment, ymin = CI95l, ymax = CI95h, group = Condition),
colour = "gray20",
position = position_dodge(width = 0.9),
show.legend = FALSE
) +
geom_label(
data = stats,
aes(x = Treatment, y = max + 0.28, label = pFormat),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
size = 5,
family = "Arial Unicode MS",
position = position_dodge(width = 0.9)
) +
geom_segment(
data = stats,
aes(x = x, y = max + 0.1, xend = xend, yend = max + 0.1),
colour="grey43",
show.legend = FALSE
) +
guides(
fill = guide_legend(
title = "Cell line",
override.aes = list(size = 6)
)
)
plotRmarkdown(markdown)
pdf <- p +
geom_point(
data = stats,
aes(x = Treatment, y = mean, group = Condition),
position = position_dodge(width = 0.9),
colour = "grey30",
shape = 95,
size = 4
) +
geom_linerange(
data = stats,
aes(x = Treatment, ymin = CI95l, ymax = CI95h, group = Condition),
colour = "grey30",
position = position_dodge(width = 0.9),
size = 0.3,
show.legend = FALSE
) +
geom_label(
data = stats,
aes(
x = Treatment,
y = max + 0.4,
label = pFormat
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
colour = "grey30",
size = 2.5,
family = "Arial Unicode MS",
position = position_dodge(width = 0.9)
) +
geom_segment(
data = stats,
aes(x = x, y = max + 0.1, xend = xend, yend = max + 0.1),
colour="grey30",
size = 0.3,
show.legend = FALSE
) +
guides(
fill = guide_legend(
title = "Cell line",
override.aes = list(size = 4)
)
)
figure <- plotPDF(pdf)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 2b"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 115,
# units = "mm"
# )
Monitoring the effects of 24 hours doxorubicin treatment on miR34a asRNA and HG in P53+/+ and p53-/- HCT116 cells. The points represent the values obtained from each independant experiment (n = 3). 95% confidence interval (vertical black lines), mean (horizontal black lines), and p-values are shown with the horizontal line under the p-value indicating the comparison that was tested.
We observed increasing miR34a HG and asRNA expression with increasing doses of doxorubicin indicating that these two transcripts are co-regulated by p53. Although p53 wild type cells showed a 25-fold increase over untreated cells in miR34a AS expression at the highest tested doxorubicin concentration, this effect was largely abrogated, 11 fold over untreated, in p53 null cells, indicating that p53 is a major regulator of miR34a asRNA expression.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] bindrcpp_0.2 gtable_0.2.0
## [3] ggthemes_3.4.0 printr_0.1
## [5] forcats_0.2.0 stringr_1.2.0
## [7] dplyr_0.7.4 purrr_0.2.4
## [9] readr_1.1.1 tidyr_0.8.0
## [11] tibble_1.4.2 ggplot2_2.2.1.9000
## [13] tidyverse_1.2.1 knitr_1.19
## [15] miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] broom_0.4.3 compiler_3.4.3 modelr_0.1.1
## [37] pkgconfig_2.0.1 mnormt_1.5-5 htmltools_0.3.6
## [40] tidyselect_0.2.3 ggfittext_0.5.0 XML_3.98-1.9
## [43] crayon_1.3.4 withr_2.1.1.9000 nlme_3.1-131
## [46] jsonlite_1.5 magrittr_1.5 scales_0.5.0.9000
## [49] cli_1.0.0.9001 stringi_1.1.6 reshape2_1.4.3
## [52] xml2_1.2.0 RColorBrewer_1.1-2 rematch2_2.0.1
## [55] tools_3.4.3 glue_1.2.0 hms_0.4.1
## [58] parallel_3.4.3 survival_2.41-3 yaml_2.1.16
## [61] colorspace_1.3-2 rvest_0.3.2 bindr_0.1
## [64] haven_1.1.1
It is likely, due to the head-to head orientation of miR34a HG and asRNA, that transcription initiation may be activated from a single promoter in a bi-directional manner. To investigate whether miR34a HG and asRNA are transcribed from the same promoter as convergent transcripts, we cloned the miR34a HG promoter, including the p53 binding site, into a luciferase/renilla dual reporter vector which we hereafter refer to as p1. The p1 sequence was previously published in Raver-Shapira, N., et al., Transcriptional activation of miR-34a contributes to p53-mediated apoptosis. Mol Cell, 2007. 26(5): p. 731-43.
Cell culture, transfection and luminescence quantification
All cell lines were cultured at 5% CO2 and 37° C with HEK293T cells cultured in DMEM high glucose (Hyclone) and HCT116 cells in McCoy’s 5a (Life Technologies). All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. Cells were plated at 10,000 cells per well in a 96-well plate with a white bottom and cultured overnight. The following day cells were co-transfected with 10ng of empty, p1, or p2 plasmid and GFP using the standard lipofektamine 2000 (Life Technologies) protocol. The expression of GFP and luminescence was measured 24 h post transfection by using the Dual-Glo Luciferase Assay System (Promega) and detected by the GloMax-Multi+ Detection System (Promega). The expression of luminescence was normalized to GFP.
Analysis
Three independant experiments (biological replicates) were performed in total. The Student’s t-test was used to compare the empty vs p1 group’s log2 activity for both genes.
Constructs
ps <- data.frame(
name = c("p1"),
sequence = c("GCG CCC TGC CTG GCC CCC ACC TGG TCC TCT TTC CTT TTC AGG TGG AGG AGA TGC CGC TGT
CCC GTC GGT CTG GGG ACA GCC CAG CTC CCC GGA TCC CGG GCT GGA GAG ACG CGT CGC GGC
CCC GGG GCC TGG TGG CAC GAG CAG GAA GGA GGA CCC GGC GGC GGG CTC TGC CTG GGC TTG
CCT GGG CTT GTT CCG AGC CGG GCT GCT TCT CGG TGA CCA CGC AGA TCG GGG GCA TTT GGA
GAT TTT GCG GGA GTC CTG CAG CCA AGC TCC GGG GCA GGA GAG GCC TGG AAG CCT GCA CTA
CCT GCT C"
)
)
ps
| name | sequence |
|---|---|
| p1 | GCG CCC TGC CTG GCC CCC ACC TGG TCC TCT TTC CTT TTC AGG TGG AGG AGA TGC CGC TGT |
| CCC GTC GGT CTG GGG ACA GCC CAG CTC CCC GGA TCC CGG GCT GGA GAG ACG CGT CGC GGC | |
| CCC GGG GCC TGG TGG CAC GAG CAG GAA GGA GGA CCC GGC GGC GGG CTC TGC CTG GGC TTG | |
| CCT GGG CTT GTT CCG AGC CGG GCT GCT TCT CGG TGA CCA CGC AGA TCG GGG GCA TTT GGA | |
| GAT TTT GCG GGA GTC CTG CAG CCA AGC TCC GGG GCA GGA GAG GCC TGG AAG CCT GCA CTA | |
| CCT GCT C |
Primers
primers <- data.frame(
name=c(
"Luc_set_II_F",
"Luc_set_II_R",
"Renilla_pBiDir_F1",
"Renilla_pBiDir_R1",
"B-actin_F",
"B-actin_R"
),
sequence=c(
"AAG ATT CAA AGT GCG CTG CTG",
"TTG CCT GAT ACC TGG CAG ATG",
"TAA CGC GGC CTC TTC TTA TTT",
"GAT TTG CCT GAT TTG CCC ATA",
"AGG TCA TCA CCA TTG GCA ATG AG",
"CTT TGC GGA TGT CCA CGT CA"
)
)
primers
| name | sequence |
|---|---|
| Luc_set_II_F | AAG ATT CAA AGT GCG CTG CTG |
| Luc_set_II_R | TTG CCT GAT ACC TGG CAG ATG |
| Renilla_pBiDir_F1 | TAA CGC GGC CTC TTC TTA TTT |
| Renilla_pBiDir_R1 | GAT TTG CCT GAT TTG CCC ATA |
| B-actin_F | AGG TCA TCA CCA TTG GCA ATG AG |
| B-actin_R | CTT TGC GGA TGT CCA CGT CA |
*For a schematic representation of the P1 construct please see Supplementary Figure 3a-b.
data <- getData("Figure 2c")
.calcP <- function(`Cell line`, gene, logValue, data) {
bool1 <- pull(data, `Cell line`) == `Cell line`
bool2 <- pull(data, gene) == gene
bool3 <- pull(data, construct) == "Empty"
bool <- bool1 & bool2 & bool3
t.test(logValue, pull(data, logValue)[bool])$p.value
}
data <- data %>%
mutate(logValue = log2(value))
stats <- data %>%
group_by(`construct`, `Cell line`, gene) %>%
summarize(
n = n(),
mean = mean(logValue),
CI95l = t.test(logValue)$conf.int[1],
CI95h = t.test(logValue)$conf.int[2],
pValue = .calcP(`Cell line`, gene, logValue, data)
) %>%
ungroup() %>%
pFormat(.)
#vertical lines and labels in plot
ys <- stats %>%
group_by(`Cell line`) %>%
summarize(max = max(CI95h))
vl <- stats %>%
group_by(`Cell line`, gene) %>%
summarize(
pValue = as.numeric(min(pValue))
) %>%
ungroup() %>%
pFormat(.) %>%
mutate(
x = case_when(
gene == "Renilla" ~ 1 + 0.25,
gene == "Luciferase" ~ 1 - 0.25
),
xend = case_when(
gene == "Renilla" ~ 2 + 0.25,
gene == "Luciferase" ~ 2 - 0.25
),
pFormat = pFormat
) %>%
left_join(ys) %>%
mutate(max = max + c(0.25, 1.2, 0.25, 1.2))
#fix gene labels
data <- data %>%
mutate(plotGene = case_when(
gene == "Luciferase" ~ " Luciferase\n(miR34a HG)",
gene == "Renilla" ~ " Renilla\n(lncTAM34a)",
TRUE ~ "somehow missed a gene"
))
stats <- stats %>%
mutate(plotGene = case_when(
gene == "Luciferase" ~ " Luciferase\n(miR34a HG)",
gene == "Renilla" ~ " Renilla\n(lncTAM34a)",
TRUE ~ "somehow missed a gene"
))
vl <- vl %>%
mutate(plotGene = case_when(
gene == "Luciferase" ~ " Luciferase\n(miR34a HG)",
gene == "Renilla" ~ " Renilla\n(lncTAM34a)",
TRUE ~ "somehow missed a gene"
))
data <- filter(data, construct %in% c("p1", "Empty"))
stats <- filter(stats, construct %in% c("p1", "Empty"))
p <- ggplot(data = NULL) +
geom_dotplot(
data = data,
aes(
x = construct,
y = logValue,
fill = plotGene
),
binwidth = 1/10,
#alpha = 0.5,
colour = NA,
position = position_dodge(width = 0.9),
binaxis = 'y',
stackdir = 'center',
dotsize = 3,
show.legend = TRUE
) +
facet_grid(. ~ `Cell line`) +
labs(
x = "Construct",
y = "log2 activity (a.u.)"
)
markdown <- p +
geom_linerange(
data = stats,
aes(
x = construct,
ymin = CI95l,
ymax = CI95h,
group = plotGene
),
colour = "grey20",
position = position_dodge(width = 0.9),
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = construct,
y = mean,
group = plotGene
),
position = position_dodge(width = 0.9),
show.legend = FALSE,
colour = "gray20",
size = 6,
shape = 95
) +
geom_label(
data = vl,
aes(
x = 1.5,
y = max + 0.25,
label = pFormat,
group = gene
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
size = 5,
family = "Arial Unicode MS",
position = position_dodge(width = 0.9)
) +
geom_segment(
data = vl,
aes(
x = x,
y = max,
xend = xend,
yend = max
),
colour = "grey43",
show.legend = FALSE
) +
guides(fill = guide_legend(
title = "Gene",
override.aes = list(size = 6)
))
plotRmarkdown(markdown)
pdf <- p +
geom_linerange(
data = stats,
aes(
x = construct,
ymin = CI95l,
ymax = CI95h,
group = plotGene
),
colour = "grey30",
size = 0.3,
position = position_dodge(width = 0.9),
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = construct,
y = mean,
group = plotGene
),
position = position_dodge(width = 0.9),
show.legend = FALSE,
colour = "grey30",
size = 4,
shape = 95
) +
geom_label(
data = vl,
aes(
x = 1.5,
y = max + 0.4,
label = pFormat,
group = gene
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
colour = "grey30",
size = 2.5,
family = "Arial Unicode MS",
position = position_dodge(width = 0.9)
) +
geom_segment(
data = vl,
aes(
x = x,
y = max,
xend = xend,
yend = max
),
colour = "grey30",
size = 0.3,
show.legend = FALSE
) +
guides(fill = guide_legend(
title = "Gene",
override.aes = list(size = 4)
))
figure <- plotPDF(pdf)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 2c"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 68,
# units = "mm"
# )
miR34a asRNA and miR34a HG levels in HCT116 and HEK293t cells after transfection with P1 or empty constructs. Luciferase represents miR34a HG and renilla represents miR34a asRNA. The points represent the values obtained from each independant experiment (n = 3). 95% confidence interval (vertical black lines), mean (horizontal black lines), and p-values are shown with the horizontal line under the p-value indicating the comparison that was tested.
Upon transfection of this construct in two separate cell lines we observed increases in both luciferase and renilla indicating that miR34a HG and asRNA expression is regulated by a single promoter contained within the p1 construct.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] bindrcpp_0.2 gtable_0.2.0
## [3] ggthemes_3.4.0 printr_0.1
## [5] forcats_0.2.0 stringr_1.2.0
## [7] dplyr_0.7.4 purrr_0.2.4
## [9] readr_1.1.1 tidyr_0.8.0
## [11] tibble_1.4.2 ggplot2_2.2.1.9000
## [13] tidyverse_1.2.1 knitr_1.19
## [15] miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] broom_0.4.3 compiler_3.4.3 modelr_0.1.1
## [37] pkgconfig_2.0.1 mnormt_1.5-5 htmltools_0.3.6
## [40] tidyselect_0.2.3 ggfittext_0.5.0 XML_3.98-1.9
## [43] crayon_1.3.4 withr_2.1.1.9000 nlme_3.1-131
## [46] jsonlite_1.5 magrittr_1.5 scales_0.5.0.9000
## [49] cli_1.0.0.9001 stringi_1.1.6 reshape2_1.4.3
## [52] xml2_1.2.0 RColorBrewer_1.1-2 rematch2_2.0.1
## [55] tools_3.4.3 glue_1.2.0 hms_0.4.1
## [58] parallel_3.4.3 survival_2.41-3 yaml_2.1.16
## [61] colorspace_1.3-2 rvest_0.3.2 bindr_0.1
## [64] haven_1.1.1
Our previous results showed that miR34a HG and asRNA are simultaneously up-regulated in response to doxorubicin treatment leading us to consider the possibility that miR34a asRNA may be necessary for an appropriate miR34a response to apoptotic signaling. To explore this possibility we again utilized the p1 construct, co-transfecting it with an shRNA targeting renilla, and treating HCT116 cells with increasing levels of doxorubicin.
Cell culture, treatment, and QPCR
We utilized the P1 construct where the overlapping region of miR34a HG and miR34a AS is cloned with luciferase downstream of miR34a HG and renilla downstream of miR34a AS. The p1 sequence was previously published in Raver-Shapira, N., et al., Transcriptional activation of miR-34a contributes to p53-mediated apoptosis. Mol Cell, 2007. 26(5): p. 731-43. All cell lines were cultured at 5% CO2 and 37° C with HCT116 cells cultured in McCoy’s 5a (Life Technologies). All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. 2.5x10^5 HCT116wt cells were seeded in a 12-well plate. After 24hrs these were co-transfected with the P1 construct (25ng) and shRenilla2.1 (250ng) using lipo2000 (Life Technologies) standard protocol. 24hrs post-transfection, doxorubicin treatment was initiated using 0, 300, or 500ng/ml. 24hrs post-treatment, RNA was extracted using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. QPCR was carried out using KAPA 2G SYBRGreen (Kapa Biosystems) using the Applied Biosystems 7900HT machine with the cycling conditions: 95 °C for 3 min, 95 °C for 3 s, 60 °C for 30 s. All constructs are shown below.
Analysis
Two experimental (technical) replicates were included in each QPCR run and delta ct was calculated for each sample using the mean of the gene of interest’s technical replicates and the house keeping gene’s technical replicates. delta-delta ct was calculated for each sample by subtracting the dct value for the corresponding shControl samples at treatment concentration 0. Three independant experiments (biological replicates) were performed in total. The Student’s t-test was used to compare the shControl vs shRenilla group’s delta-delta ct values.
Constructs
p1 <- data.frame(
name="p1",
sequence="GCG CCC TGC CTG GCC CCC ACC TGG TCC TCT TTC CTT TTC AGG TGG AGG AGA TGC CGC TGT
CCC GTC GGT CTG GGG ACA GCC CAG CTC CCC GGA TCC CGG GCT GGA GAG ACG CGT CGC GGC
CCC GGG GCC TGG TGG CAC GAG CAG GAA GGA GGA CCC GGC GGC GGG CTC TGC CTG GGC TTG
CCT GGG CTT GTT CCG AGC CGG GCT GCT TCT CGG TGA CCA CGC AGA TCG GGG GCA TTT GGA
GAT TTT GCG GGA GTC CTG CAG CCA AGC TCC GGG GCA GGA GAG GCC TGG AAG CCT GCA CTA
CCT GCT C"
)
p1
| name | sequence |
|---|---|
| p1 | GCG CCC TGC CTG GCC CCC ACC TGG TCC TCT TTC CTT TTC AGG TGG AGG AGA TGC CGC TGT |
| CCC GTC GGT CTG GGG ACA GCC CAG CTC CCC GGA TCC CGG GCT GGA GAG ACG CGT CGC GGC | |
| CCC GGG GCC TGG TGG CAC GAG CAG GAA GGA GGA CCC GGC GGC GGG CTC TGC CTG GGC TTG | |
| CCT GGG CTT GTT CCG AGC CGG GCT GCT TCT CGG TGA CCA CGC AGA TCG GGG GCA TTT GGA | |
| GAT TTT GCG GGA GTC CTG CAG CCA AGC TCC GGG GCA GGA GAG GCC TGG AAG CCT GCA CTA | |
| CCT GCT C |
shRNAs
shRNAs <- data.frame(
name=c(
"shRenilla2.1"
),
sequence=c(
"TAA CGG GAT TTC ACG AGG C"
)
)
shRNAs
| name | sequence |
|---|---|
| shRenilla2.1 | TAA CGG GAT TTC ACG AGG C |
Primers
primers <- data.frame(
name=c(
"Luc_set_II_F",
"Luc_set_II_R",
"Renilla_pBiDir_F1",
"Renilla_pBiDir_R1",
"B-actin_F",
"B-actin_R"
),
sequence=c(
"AAG ATT CAA AGT GCG CTG CTG",
"TTG CCT GAT ACC TGG CAG ATG",
"TAA CGC GGC CTC TTC TTA TTT",
"GAT TTG CCT GAT TTG CCC ATA",
"AGG TCA TCA CCA TTG GCA ATG AG",
"CTT TGC GGA TGT CCA CGT CA"
)
)
primers
| name | sequence |
|---|---|
| Luc_set_II_F | AAG ATT CAA AGT GCG CTG CTG |
| Luc_set_II_R | TTG CCT GAT ACC TGG CAG ATG |
| Renilla_pBiDir_F1 | TAA CGC GGC CTC TTC TTA TTT |
| Renilla_pBiDir_R1 | GAT TTG CCT GAT TTG CCC ATA |
| B-actin_F | AGG TCA TCA CCA TTG GCA ATG AG |
| B-actin_R | CTT TGC GGA TGT CCA CGT CA |
See Supplementary Figure 3a-b for a schematic representation of the P1 construct.
data <- getData("Figure 2d")
#Luciferase = miR34a HG
#Renilla = miR34a AS
#calculate dct
groups <- c("treatment", "Biological Replicate", "shRNA", "gene")
gois <- c("Luciferase", "Renilla")
data <- data %>%
technicalMeans(., groups) %>%
dct(., gois, Actin, groups)
#calculate ddct
groups[groups == "gene"] <- "GOI"
logical <- tibble(
`shRNA` = pull(data, shRNA) == "shRNA Control",
treatment = pull(data, treatment) == 0
)
data <- data %>%
ddct(., logical, groups, med = FALSE) %>%
folds(.)
#calculate stats
stats <- calcStats(data, shRNA, "shRNA Control", groups) %>%
pFormat(.)
#prepare for plotting
data <- data %>%
mutate(plotGOI = case_when(
GOI == "Luciferase" ~ " Luciferase\n(miR34a HG)",
GOI == "Renilla" ~ "Renilla\n(lncTAM34a)"
)) %>%
mutate(plotGOI = factor(
plotGOI,
levels = c("Renilla\n(lncTAM34a)", " Luciferase\n(miR34a HG)")
))
stats <- stats %>%
mutate(plotGOI = case_when(
GOI == "Luciferase" ~ " Luciferase\n(miR34a HG)",
GOI == "Renilla" ~ "Renilla\n(lncTAM34a)"
)) %>%
mutate(plotGOI = factor(
plotGOI,
levels = c("Renilla\n(lncTAM34a)", " Luciferase\n(miR34a HG)")
)) %>%
group_by(GOI, treatment) %>%
mutate(
height = if_else(treatment == 0, 0.15, max(CI95h, na.rm = TRUE)),
x = case_when(
treatment == 0 ~ 1 + 0.25,
treatment == 300 ~ 2 + 0.25,
treatment == 500 ~ 3 + 0.25
),
xend = case_when(
treatment == 0 ~ 1 - 0.25,
treatment == 300 ~ 2 - 0.25,
treatment == 500 ~ 3 - 0.25
)
) %>%
ungroup()
p <- ggplot(data = NULL) +
geom_dotplot(
data = data,
aes(
x = treatment,
y = log2fold,
fill = shRNA
),
binwidth = 1/10,
#alpha = 0.5,
colour = NA,
position = position_dodge(width = 0.9),
binaxis = 'y',
stackdir = 'center',
dotsize = 3,
show.legend = TRUE
) +
facet_grid(. ~ plotGOI, scale = "free") +
scale_y_continuous("\u0394\u0394Ct") +
labs(
x = "Doxorubicin (ng/ml)",
title = "HCT116"
)
markdown <- p +
geom_linerange(
data = stats,
aes(
x = treatment,
ymin = CI95l,
ymax = CI95h,
group = shRNA
),
colour = "gray20",
position = position_dodge(width = 0.9),
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = treatment,
y = mean,
group = shRNA
),
colour = "gray20",
position = position_dodge(width = 0.9),
shape = 95,
size = 6,
show.legend = FALSE
) +
geom_label(
data = stats,
aes(
x = treatment,
y = height + 0.5,
label = pFormat
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
size = 5,
family = "Arial Unicode MS"
) +
geom_segment(
data = stats,
aes(x = x, y = height + 0.25, xend = xend, yend = height + 0.25),
colour="grey43",
show.legend = FALSE
) +
guides(
fill = guide_legend(
title = "Gene",
override.aes = list(size = 6)
)
)
plotRmarkdown(markdown)
pdf <- p +
geom_linerange(
data = stats,
aes(
x = treatment,
ymin = CI95l,
ymax = CI95h,
group = shRNA
),
colour = "grey30",
position = position_dodge(width = 0.9),
size = 0.3,
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = treatment,
y = mean,
group = shRNA
),
colour = "grey30",
position = position_dodge(width = 0.9),
shape = 95,
size = 4,
show.legend = FALSE
) +
geom_label(
data = stats,
aes(
x = treatment,
y = height + 0.6,
label = pFormat
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
colour = "grey30",
size = 2.5,
family = "Arial Unicode MS"
) +
geom_segment(
data = stats,
aes(x = x, y = height + 0.25, xend = xend, yend = height + 0.25),
colour="grey30",
size = 0.3,
show.legend = FALSE
) +
guides(fill = guide_legend(
title = "Gene",
override.aes = list(size = 4)
))
figure <- plotPDF(pdf)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 2d"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 100,
# units = "mm"
# )
HCT116 cells were co-transfected with the p1 construct and shRNA renilla or shRNA control and subsequently treated with increasing doses of doxorubicin. 24 hours post-treatment, cells were harvested and renilla and luciferase levels were measured using QPCR. Statistical testing compared the shRNA control with shRNA renilla transfected cells using the respective treatment condition. The points represent the values obtained from each independant experiment (n = 3). 95% confidence interval (vertical black lines), mean (horizontal black lines), and p-values are shown.
Levels of luciferase were abrogated in the shRenilla-transfected cells compared to control shRNA-transfected cells. Collectively, these results indicate that miR34a asRNA positively regulates levels of miR34a HG and is crucial for a proper miR34a response to apoptotic stimuli.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] bindrcpp_0.2 gtable_0.2.0
## [3] ggthemes_3.4.0 printr_0.1
## [5] forcats_0.2.0 stringr_1.2.0
## [7] dplyr_0.7.4 purrr_0.2.4
## [9] readr_1.1.1 tidyr_0.8.0
## [11] tibble_1.4.2 ggplot2_2.2.1.9000
## [13] tidyverse_1.2.1 knitr_1.19
## [15] miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] broom_0.4.3 compiler_3.4.3 modelr_0.1.1
## [37] pkgconfig_2.0.1 mnormt_1.5-5 htmltools_0.3.6
## [40] tidyselect_0.2.3 ggfittext_0.5.0 XML_3.98-1.9
## [43] crayon_1.3.4 withr_2.1.1.9000 nlme_3.1-131
## [46] jsonlite_1.5 magrittr_1.5 scales_0.5.0.9000
## [49] cli_1.0.0.9001 stringi_1.1.6 reshape2_1.4.3
## [52] xml2_1.2.0 RColorBrewer_1.1-2 rematch2_2.0.1
## [55] tools_3.4.3 glue_1.2.0 hms_0.4.1
## [58] parallel_3.4.3 survival_2.41-3 yaml_2.1.16
## [61] colorspace_1.3-2 rvest_0.3.2 bindr_0.1
## [64] haven_1.1.1
We hypothesized that miR34a asRNA may function to mediate the levels of its sense gene, miR34a. To this end, we stably over-expressed miR34a asRNA, using lentiviral transduction, in 3 different p53-null cell lines and monitored the effects on miR34a.
miR34a asRNA cloning
RNA was harvested from U2OS cells using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. PCR was run using the miR34aAS_cloning_F4 and miR34aAS_cloning_Ex3_1 primers for 40 cycles at annealing temperature 58˚C and run on an agarose gel. Bands were excised and extracted using the QIAquick gel extraction kit (Qiagen). PCR products were cloned using the Strata Clone kit (Aligent) and sequenced (results below). The insert for the lentiviral construct (p-HIV-I2AG-U6) was subsequently sub-cloned from the sequenced plasmid using primers with PacI and NheI cleavage sites. The cloned transcript largley mirrors the GENCODE annotated transcript.
Cloning primers
primers <- data.frame(
name=c(
"miR34aAS_cloning_F4",
"miR34aAS_cloning_Ex3_1"
),
sequence=c(
"ACGCGTCTCTCCAGCCCGGGAT",
"AATGATGGCCGCAACTAATGACGG"
)
)
primers
| name | sequence |
|---|---|
| miR34aAS_cloning_F4 | ACGCGTCTCTCCAGCCCGGGAT |
| miR34aAS_cloning_Ex3_1 | AATGATGGCCGCAACTAATGACGG |
Sequencing results
construct <- data.frame(
name="miR34a_asRNA",
sequence="ACG CGT CTC TCC AGC CCG GGA TCC GGG GAG CTG GGC TGT CCC CAG ACC GAC GGG ACA GCG GCA
TCT CCT CCA CCT GAA AAG GAA AGA GGA CCA GTT TGC AGG ACT CCG AAC TGG GCC CGC GAG ATC
TCC ACC TGC GCA AAA CGA AAG GGC GGA TTC TCC TTG GAC TCA CGA GGC AAC CGC TCC CCG GGG
TGA GAA CGG GGG ACT CAT TCC TCC GGC ACT GGG AGA AGA CGA TTC TTC AGG AGG AGG ACA GGG
AAG CGA ATG CTA CCC AGA TGT CTC AGT ATA CTG GCT CGC GGC ACA TCG GGC AAA TGA ACC TAT
CAG ATA ACA ACG GCA GAT CAG ATG CCT GAG CAT TCA GAA GCA ACA GCT GTG GAG CCC CCG TGG
GTT CAG AAG GCC TGG TTC CCG TCT CCA GAA GCC TGG CTC TCC TCC CTC CTG GGC CCA CTA CTT
TGG CTT CTT GTT CCT ACG TAC AAG GAG TTG CGA AGA AGG CAA CTC TTC CCC TCC CTG AAG CCA
AAG GAA TGA AAC AGA CTA GGG CGG GAG AGG TGG CCA TCC GTC ATT AGT TGC GGC CAT CA"
)
construct
| name | sequence |
|---|---|
| miR34a_asRNA | ACG CGT CTC TCC AGC CCG GGA TCC GGG GAG CTG GGC TGT CCC CAG ACC GAC GGG ACA GCG GCA |
| TCT CCT CCA CCT GAA AAG GAA AGA GGA CCA GTT TGC AGG ACT CCG AAC TGG GCC CGC GAG ATC | |
| TCC ACC TGC GCA AAA CGA AAG GGC GGA TTC TCC TTG GAC TCA CGA GGC AAC CGC TCC CCG GGG | |
| TGA GAA CGG GGG ACT CAT TCC TCC GGC ACT GGG AGA AGA CGA TTC TTC AGG AGG AGG ACA GGG | |
| AAG CGA ATG CTA CCC AGA TGT CTC AGT ATA CTG GCT CGC GGC ACA TCG GGC AAA TGA ACC TAT | |
| CAG ATA ACA ACG GCA GAT CAG ATG CCT GAG CAT TCA GAA GCA ACA GCT GTG GAG CCC CCG TGG | |
| GTT CAG AAG GCC TGG TTC CCG TCT CCA GAA GCC TGG CTC TCC TCC CTC CTG GGC CCA CTA CTT | |
| TGG CTT CTT GTT CCT ACG TAC AAG GAG TTG CGA AGA AGG CAA CTC TTC CCC TCC CTG AAG CCA | |
| AAG GAA TGA AAC AGA CTA GGG CGG GAG AGG TGG CCA TCC GTC ATT AGT TGC GGC CAT CA |
Lentivirus production and infection
HEK293T cells were transfected with viral and expression constructs using Lipofectamine 2000 (Life Technologies), after which viral supernatants were harvested 48 and 72 hours post-transfection. Viral particles were concentrated using PEG-IT solution (Systems Biosciences) according to the manufacturer’s recommendations. HEK293T cells were used for virus titration and GFP expression was evaluated 72hrs post-infection via flow cytometry after which TU/ml was calculated. Cell lines were subsequently infected with the lentiviral particals using a multuplicity of infection = 1. After 48 hours, cells were placed under mycophenolic acid selection and the selection process was monitored using GFP expression via flow cytometry. When GFP expression was present in >90% of the cells, cells were frozen for downstream analysis.
QPCR
RNA was extracted using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. QPCR was carried out using KAPA 2G SYBRGreen (Kapa Biosystems) using the Applied Biosystems 7900HT machine with the cycling conditions: 95 °C for 3 min, 95 °C for 3 s, 60 °C for 30 s. QPCR for miRNA expression analysis was performed according to the protocol for the TaqMan microRNA Assay kit (Life Technologies) with primer/probe sets purchased from the same company (TaqMan® MicroRNA Assay, hsa-miR-34a, human and Control miRNA Assay, RNU48, human) and the same cycling scheme as above. QPCR primers are shown below.
Analysis
Two experimental (technical) replicates were included in each QPCR run and delta ct was calculated for each sample using the mean of the gene of interest’s technical replicates and the house keeping gene’s technical replicates. delta-delta ct was calculated for each sample by subtracting the median dct value for the corresponding mock samples. Five independant experiments were performed in total. The Student’s t-test was used to compare the mock vs miR34a asRNA overexpressing group’s delta-delta ct values for both genes.
QPCR primers
primers <- data.frame(
name=c(
"ß-actin Fwd",
"ß-actin Rev",
"miR34a_asF1",
"miR34a_asR1"
),
sequence=c(
"AGGTCATCACCATTGGCAATGAG",
"CTTTCGGGATGTCCACGTCA",
"AGCGGCATCTCCTCCACCTGAAA",
"TTGCCTCGTGAGTCCAAGGAGAAT"
)
)
primers
| name | sequence |
|---|---|
| ß-actin Fwd | AGGTCATCACCATTGGCAATGAG |
| ß-actin Rev | CTTTCGGGATGTCCACGTCA |
| miR34a_asF1 | AGCGGCATCTCCTCCACCTGAAA |
| miR34a_asR1 | TTGCCTCGTGAGTCCAAGGAGAAT |
data <- getData("Figure 3a")
#Have to divide the analysis due to the presence of several house
#keeping genes.
gois1 <- c("lncTAM34a", "Actin")
gois2 <- c("miR34a", "RNU48")
data1 <- filter(data, gene %in% gois1)
data2 <- filter(data, gene %in% gois2)
#calculate dct
groups <- c("Genetic mod", "Biological Replicate", "Cell line", "gene")
data1 <- data1 %>%
technicalMeans(., groups) %>%
dct(., gois1, Actin, groups, F) %>%
mutate(GOI = as.character(GOI))
data2 <- data2 %>%
technicalMeans(., groups) %>%
dct(., gois2, RNU48, groups, F) %>%
mutate(GOI = as.character(GOI))
data <- bind_rows(data1, data2) %>%
mutate(GOI = parse_factor(GOI, levels = c("lncTAM34a", "miR34a")))
#calculate ddct
groups[groups == "gene"] <- "GOI"
logical <- tibble(
`Biological Replicate` = pull(data, `Biological Replicate`) == 2,
`Genetic mod` = pull(data, `Genetic mod`) == "mock"
)
data <- data %>%
ddct(., logical, groups) %>%
folds(.)
#calculate stats
stats <- calcStats(data, `Genetic mod`, "mock", groups) %>%
pFormat(.)
#format for plotting
lev <- c("mock", "lncTAM34a", "Skov3\nmock", "Skov3\nlncTAM34a", "Saos2\nmock", "Saos2\nlncTAM34a")
#data <- data %>%
# mutate(`Genetic mod` = gsub("miR34a asRNA", "miR34a\nasRNA", `Genetic mod`)) %>%
# mutate(`Genetic mod` = parse_factor(`Genetic mod`, levels = c("mock", "miR34a\nasRNA")))
#stats <- stats %>%
# mutate(`Genetic mod` = gsub("miR34a asRNA", "miR34a\nasRNA", `Genetic mod`)) %>%
# mutate(`Genetic mod` = parse_factor(`Genetic mod`, levels = c("mock", "miR34a\nasRNA")))
#vertical lines and labels in plot
ys <- stats %>%
group_by(`Cell line`) %>%
summarize(max = max(CI95h))
vl <- stats %>%
group_by(`Cell line`, GOI) %>%
summarize(
pValue = as.numeric(min(pValue))
) %>%
ungroup() %>%
pFormat(.) %>%
mutate(
x = case_when(
GOI == "miR34a" ~ 1 + 0.25,
GOI == "lncTAM34a" ~ 1 - 0.25
),
xend = case_when(
GOI == "miR34a" ~ 2 + 0.25,
GOI == "lncTAM34a" ~ 2 - 0.25
)
) %>%
inner_join(ys) %>%
mutate(
max = max + c(0.95, 3.35, 0.65, 3.15, 0.65, 3.15)
)
p <- ggplot(data = NULL) +
geom_dotplot(
data = data,
aes(
x = `Genetic mod`,
y = log2fold,
fill = GOI,
group = interaction(`Genetic mod`, GOI)
),
binwidth = 1/10,
colour = NA,
#alpha = 0.5,
position = position_dodge(width = 0.9),
binaxis = 'y',
stackdir = 'center',
dotsize = 6,
show.legend = TRUE
) +
facet_grid(
. ~ `Cell line`,
scales = "free",
space = "free"
) +
scale_y_continuous("\u0394\u0394Ct")+
labs(x = "Cell line")
markdown <- p +
geom_linerange(
data = stats,
aes(
x = `Genetic mod`,
ymin = CI95l,
ymax = CI95h,
group = interaction(`Genetic mod`, GOI)
),
position = position_dodge(width = 0.9),
colour = "gray20",
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = `Genetic mod`,
y = mean,
group = interaction(`Genetic mod`, GOI)
),
colour = "gray20",
shape = 95,
size = 6,
position = position_dodge(width = 0.9),
show.legend = FALSE
) +
geom_label(
data = vl,
aes(
x = 1.5,
y = max + 0.4,
label = pFormat,
group = interaction(`Cell line`, GOI)
),
fill = "white",
label.size = 0,
label.padding = unit(0.01, "lines"),
position = position_dodge(width = 0.9),
show.legend = FALSE,
fontface = "bold",
family = "Arial Unicode MS",
size = 3
) +
geom_segment(
data = vl,
aes(
x = x,
y = max,
xend = xend,
yend = max
),
colour = "grey43",
show.legend = FALSE
) +
guides(
fill = guide_legend(
title = "Gene",
override.aes = list(size = 6)
)
)
plotRmarkdown(markdown)
pdf <- p +
geom_linerange(
data = stats,
aes(
x = `Genetic mod`,
ymin = CI95l,
ymax = CI95h,
group = interaction(`Genetic mod`, GOI)
),
position = position_dodge(width = 0.9),
colour = "grey30",
size = 0.3,
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = `Genetic mod`,
y = mean,
group = interaction(`Genetic mod`, GOI)
),
colour = "grey30",
shape = 95,
size = 4,
position = position_dodge(width = 0.9),
show.legend = FALSE
) +
geom_label(
data = vl,
aes(
x = 1.5,
y = max + 1,
label = pFormat,
group = interaction(`Cell line`, GOI)
),
fill = "white",
colour = "grey30",
label.size = 0,
label.padding = unit(0.01, "lines"),
position = position_dodge(width = 0.9),
show.legend = FALSE,
fontface = "bold",
family = "Arial Unicode MS",
size = 2.5
) +
geom_segment(
data = vl,
aes(
x = x,
y = max,
xend = xend,
yend = max
),
colour = "grey30",
size = 0.3,
show.legend = FALSE
) +
guides(
fill = guide_legend(
title = "Gene",
override.aes = list(size = 4)
)
)
figure <- plotPDF(pdf)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 3a"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 83,
# units = "mm"
# )
miR34a asRNA and miR34a levels in PC3, Skov3, and Saos2 cell lines stably over-expressing miR34a asRNA compared to mock over-expressing control. The points represent the values obtained from each independant experiment (n >= 3). 95% confidence interval (vertical black lines), mean (horizontal black lines), and p-values are shown with the horizontal line under the p-value indicating the comparison that was tested.
miR34a asRNA over-expression causes a concominant up-regulation of miR34a in all 3 cell lines. This indicates that miR34a asRNA concordantly regulates miR34a.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] bindrcpp_0.2 gtable_0.2.0
## [3] ggthemes_3.4.0 printr_0.1
## [5] forcats_0.2.0 stringr_1.2.0
## [7] dplyr_0.7.4 purrr_0.2.4
## [9] readr_1.1.1 tidyr_0.8.0
## [11] tibble_1.4.2 ggplot2_2.2.1.9000
## [13] tidyverse_1.2.1 knitr_1.19
## [15] miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] broom_0.4.3 compiler_3.4.3 modelr_0.1.1
## [37] pkgconfig_2.0.1 mnormt_1.5-5 htmltools_0.3.6
## [40] tidyselect_0.2.3 ggfittext_0.5.0 XML_3.98-1.9
## [43] crayon_1.3.4 withr_2.1.1.9000 nlme_3.1-131
## [46] jsonlite_1.5 magrittr_1.5 scales_0.5.0.9000
## [49] cli_1.0.0.9001 stringi_1.1.6 reshape2_1.4.3
## [52] xml2_1.2.0 RColorBrewer_1.1-2 rematch2_2.0.1
## [55] tools_3.4.3 glue_1.2.0 hms_0.4.1
## [58] parallel_3.4.3 survival_2.41-3 yaml_2.1.16
## [61] colorspace_1.3-2 rvest_0.3.2 bindr_0.1
## [64] haven_1.1.1
miR34a is known to regulate cell cycle and, specifically, induce G1-phase arrest. Due to the increase observed in miR34a expression levels in cell lines over-expressing miR34a asRNA, we investigated if the cell cycle was perturbed in these cells.
Cell culture and cell cycle analysis
All cell lines were cultured at 5% CO2 and 37° C with Skov3 and PC3 cells in RPMI (Hyclone) and 2 mM L-glutamine. All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. 1x10^5 cells per well in a 6-well plate and harvested after 24hrs. Cells were washed in PBS and fixed in 4% PFA at room temperature overnight. PFA was removed, and cells were resuspended in 95% EtOH. The samples were then rehydrated in distilled water, stained with DAPI and analyzed by flow cytometry on a LSRII (BD Biosciences) machine.
Analysis
The cell cycle phases ModFit software (Verity Software House) was used to quantify the percentage of cells in each cell cycle phase. Percentages were converted to log2 fractions for each sample. Student’s t-test was used for statistical analysis comparing the mock vs miR34a asRNA overespression conditions using five (PC3) or three (Skov3) independant experiments.
data <- getData("Figure 3b")
#convert the value (precent) to log2(fraction)
data <- mutate(data, value = log2(value / 100))
#qqplot shows that the data is reasonably normal. The shapiro test is also used below. Note that a p < 0.05 indicates non-normality.
#qqnorm(data$value)
#calculate stats
stats <- data %>%
full_join(
filter(data, condition == "mock"),
by = c("Biological Replicate", "Cell line", "phase"),
suffix = c("", ".y")
) %>%
group_by(`Cell line`, condition, phase) %>%
summarize(
n = n(),
mean = (2^mean(.data$value)),
max = (2^max(.data$value)),
CI95l = (2^t.test(.data$value)$conf.int[1]),
CI95h = (2^t.test(.data$value)$conf.int[2]),
pValue = t.test(.data$value, .data$value.y)$p.value,
shapiroTest = shapiro.test(value)$p.value
) %>%
ungroup() %>%
pFormat(.)
#prepare for plotting
#change value back to percent
data <- data %>%
mutate(value = 2^value)
#calculate start and end for horizontal plot lines
stats <- stats %>%
group_by(phase, `Cell line`) %>%
mutate(y = max(c(.data$CI95h, .data$max))) %>%
ungroup() %>%
arrange(`Cell line`, phase) %>%
mutate(
x = rep(sort(rep(1:3, 2)), 2) - 0.25,
xend = rep(sort(rep(1:3, 2)), 2) + 0.25
)
p <- ggplot(data = NULL) +
geom_dotplot(
data = data,
aes(
x = phase,
y = value,
fill = condition
),
binwidth = 1/100,
colour = NA,
#alpha = 0.5,
position = position_dodge(width = 0.9),
binaxis = 'y',
stackdir = 'center',
dotsize = 1,
show.legend = TRUE
) +
facet_grid(
. ~ `Cell line`,
scale = "free"
) +
scale_y_continuous(labels = scales::percent_format()) +
labs(
x = "Cell cycle phase",
y = "",
title = "Cell cycle"
)
markdown <- p +
geom_linerange(
data = stats,
aes(
x = phase,
ymin = CI95l,
ymax = CI95h,
group = interaction(phase, condition)
),
position = position_dodge(width = 0.9),
colour = "grey25",
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = phase,
y = mean,
group = condition
),
colour = "black",
position = position_dodge(width = 0.9),
shape = 95,
size = 6,
show.legend = FALSE
) +
geom_segment(
data = stats,
aes(
x = x,
y = y + 0.01,
xend = xend,
yend = y + 0.01
),
colour = "grey43",
show.legend = FALSE
) +
geom_label(
data = stats,
aes(
x = phase,
y = y + 0.02,
label = pFormat
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
size = 3,
family = "Arial Unicode MS"
) +
guides(
fill = guide_legend(
title = "Condition",
override.aes = list(size = 6)
)
)
plotRmarkdown(markdown)
pdf <- p +
geom_linerange(
data = stats,
aes(
x = phase,
ymin = CI95l,
ymax = CI95h,
group = interaction(phase, condition)
),
position = position_dodge(width = 0.9),
colour = "grey30",
size = 0.3,
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = phase,
y = mean,
group = condition
),
colour = "grey30",
position = position_dodge(width = 0.9),
shape = 95,
size = 4,
show.legend = FALSE
) +
geom_segment(
data = stats,
aes(
x = x,
y = y + 0.02,
xend = xend,
yend = y + 0.02
),
colour = "grey30",
size = 0.3,
show.legend = FALSE
) +
geom_label(
data = stats,
aes(
x = phase,
y = y + 0.038,
label = pFormat
),
colour = "grey30",
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
size = 2.5,
family = "Arial Unicode MS"
) +
guides(
fill = guide_legend(
title = "Condition",
override.aes = list(size = 4)
)
)
figure <- plotPDF(pdf)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 3b"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 93,
# units = "mm"
# )
Cell cycle analysis in miR34a asRNA over-expressing PC3, Skov3, and Saos2 stable cell lines compared to their respective mock control. The points represent the values obtained from each independant experiment (PC3 n = 5; Skov3 n = 3). 95% confidence interval (vertical black lines), mean (horizontal black lines), and p-values are shown with the horizontal line under the p-value indicating the comparison that was tested.
An increase in the percentage of cells in G1-phase can be seen in cell lines overexpressing miR34a asRNA. In addition, a concominant decrease of cells in G2-phase can be observed.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] bindrcpp_0.2 gtable_0.2.0
## [3] ggthemes_3.4.0 printr_0.1
## [5] forcats_0.2.0 stringr_1.2.0
## [7] dplyr_0.7.4 purrr_0.2.4
## [9] readr_1.1.1 tidyr_0.8.0
## [11] tibble_1.4.2 ggplot2_2.2.1.9000
## [13] tidyverse_1.2.1 knitr_1.19
## [15] miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] broom_0.4.3 compiler_3.4.3 modelr_0.1.1
## [37] pkgconfig_2.0.1 mnormt_1.5-5 htmltools_0.3.6
## [40] tidyselect_0.2.3 ggfittext_0.5.0 XML_3.98-1.9
## [43] crayon_1.3.4 withr_2.1.1.9000 nlme_3.1-131
## [46] jsonlite_1.5 magrittr_1.5 scales_0.5.0.9000
## [49] cli_1.0.0.9001 stringi_1.1.6 reshape2_1.4.3
## [52] xml2_1.2.0 RColorBrewer_1.1-2 rematch2_2.0.1
## [55] tools_3.4.3 glue_1.2.0 hms_0.4.1
## [58] parallel_3.4.3 survival_2.41-3 yaml_2.1.16
## [61] colorspace_1.3-2 rvest_0.3.2 bindr_0.1
## [64] haven_1.1.1
As p53 is a well-known regulator of senescence, growth, and apoptosis and has been shown to specifically important under conditions of cellular stress, such as starvation. Therefore, we investigated whether overexpression of miR34a AS affects growth rate under normal and starvation conditions by measuring changes in confluency over time.
Cell culture and confluency quantification
10^4 PC3 cells, either miR34a asRNA overexpressing or WT, were seeded in 96 well plates. After attachment (3-4h) media was replaced with either RPMI (Gibco, life technology) (supplemented with 2mM L-glutamine, 50ug/ml Penicillin-Streptomycin and 10% Fetal Calf Serum) or HBSS. Cells were incubated in Spark Multimode Microplate reader for 48 hours at 37°C with 5% CO2 in a humidity chamber. Confluency was measured every hour.
Analysis
Three technical triplicates were included in each experiment and these were independantly normalized for each condition to the 0 time point afterwhich the mean was calculated. The 95% confidence interval was then calculated based on the three independant experiments which were preformed.
data <- getData("Figure 3c")
#normalize to first time point for control (Mock)
.normFun <- function(
data,
Confluency,
Treatment,
Biological.Replicate,
Technical.Replicate,
Cell.line
){
bool1 <- data$Treatment == Treatment
bool2 <- data$`Biological Replicate` == Biological.Replicate
bool3 <- data$`Technical Replicate` == Technical.Replicate
bool4 <- data$Time == 0
bool5 <- data$`Cell line` == Cell.line
bool <- bool1 & bool2 & bool3 & bool4 & bool5
Confluency / pull(data, Confluency)[bool]
}
data <- data %>%
group_by(Treatment, `Biological Replicate`, `Technical Replicate`, Time, `Cell line`) %>%
mutate(
normConfluency = .normFun(
data,
Confluency,
Treatment,
`Biological Replicate`,
`Technical Replicate`,
`Cell line`
)
) %>%
ungroup()
#calculate mean for each technical replicate
data <- data %>%
group_by(Treatment, `Biological Replicate`, Time, `Cell line`) %>%
summarize(
techMean = mean(normConfluency)
) %>%
ungroup()
#calculate stats
stats <- data %>%
filter(Time != 0) %>%
group_by(`Cell line`, Treatment, Time) %>%
summarize(
min = min(techMean),
max = max(techMean),
mean = mean(techMean),
median = median(techMean),
CI95l = t.test(techMean)$conf.int[1],
CI95h = t.test(techMean)$conf.int[2]
)
#linear model
model.data <- data %>%
mutate(Time = as.numeric(Time)) %>%
group_by(Treatment) %>%
mutate(rank = rank(techMean)) %>%
do(glance(lm(rank ~ Time +`Cell line`, data = .))) %>%
ungroup() %>%
rename(pValue = p.value) %>%
pFormat(.) %>%
select(-pValue) %>%
rename(p.value = pFormat)
as.data.frame(model.data)
| Treatment | r.squared | adj.r.squared | sigma | statistic | df | logLik | AIC | BIC | deviance | df.residual | p.value |
|---|---|---|---|---|---|---|---|---|---|---|---|
| RPMI | 0.9048054 | 0.9039115 | 19.37201 | 1012.260 | 3 | -945.1673 | 1898.335 | 1911.836 | 79933.52 | 213 | 1.7e-109 |
| HBSS | 0.8523014 | 0.8509146 | 24.12818 | 614.563 | 3 | -992.5904 | 1993.181 | 2006.682 | 124002.06 | 213 | 3.5e-89 |
growth.lm <- data %>%
mutate(Time = as.numeric(Time)) %>%
group_by(Treatment) %>%
mutate(rank = rank(techMean)) %>%
do(tidy(lm(rank ~ Time +`Cell line`, data = .))) %>%
ungroup() %>%
rename(pValue = p.value) %>%
pFormat(.) %>%
select(-pValue) %>%
rename(p.value = pFormat)
as.data.frame(growth.lm)
| Treatment | term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|---|
| RPMI | (Intercept) | 11.338360 | 2.9974576 | 3.782659 | 2.0e-4 |
| RPMI | Time | 5.662141 | 0.1268830 | 44.624887 | 4.7e-110 |
| RPMI | Cell linelncTAM34a |
-15.175926 | 2.6361965 | -5.756751 | 3.0e-8 |
| HBSS | (Intercept) | 80.187566 | 3.7333873 | 21.478502 | 3.3e-55 |
| HBSS | Time | 3.796418 | 0.1580351 | 24.022627 | 1.5e-62 |
| HBSS | Cell linelncTAM34a |
-83.842593 | 3.2834301 | -25.535062 | 9.5e-67 |
p <- ggplot(data = NULL) +
geom_ribbon(
data = stats,
aes(
x = Time,
ymin = CI95l,
ymax = CI95h,
group = `Cell line`,
fill = `Cell line`
),
alpha = 0.2,
show.legend = FALSE
) +
facet_grid(. ~ Treatment) +
scale_x_discrete(breaks = seq(0, 35, 5)) +
labs(
x = "Time (hours)",
y = "Normalized % confluency",
title = "miR34a asRNA's role in growth regulation."
) +
guides(
colour = guide_legend(title = "Cell line", override.aes = list(size = 3))
)
markdown <- p +
geom_linerange(
data = stats,
aes(
x = Time,
colour = `Cell line`,
ymin = min,
ymax = max
),
position = position_dodge(width = 1),
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = Time,
y = median,
group = `Cell line`,
colour = `Cell line`
),
position = position_dodge(width = 1),
show.legend = TRUE
) +
guides(
colour = guide_legend(
title = "Cell line",
override.aes = list(size = 3)
)
)
plotRmarkdown(markdown)
pdf <- p +
geom_linerange(
data = stats,
aes(
x = Time,
colour = `Cell line`,
ymin = min,
ymax = max
),
position = position_dodge(width = 1),
lwd = 0.2,
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = Time,
y = median,
group = `Cell line`,
colour = `Cell line`
),
size = 0.25,
position = position_dodge(width = 1),
show.legend = TRUE
) +
guides(
colour = guide_legend(
title = "Cell line",
override.aes = list(size = 2)
)
)
figure <- plotPDF(pdf)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 3c"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 83,
# units = "mm"
# )
The effects of miR34a asRNA overexpression on growth in normal and starvation conditions in the PC3 prostate cancer cell line. The points represent the median values obtained from each independant experiment (n = 3) whereas, the shadow represents 95% confidence interval, and the vertical line represents the minimum and maximum values from the independant experiments.
miR34a asRNA overexpression causes a minor decrease in cell growth under normal conditions (RPMI) although under conditions of cellular stress through starvation, this effect is increased dramatically.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] broom_0.4.3 bindrcpp_0.2
## [3] gtable_0.2.0 ggthemes_3.4.0
## [5] printr_0.1 forcats_0.2.0
## [7] stringr_1.2.0 dplyr_0.7.4
## [9] purrr_0.2.4 readr_1.1.1
## [11] tidyr_0.8.0 tibble_1.4.2
## [13] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [15] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] survival_2.41-3 yaml_2.1.16 colorspace_1.3-2
## [61] rvest_0.3.2 bindr_0.1 haven_1.1.1
miR34a asRNA over-expression was shown to increase the expression levels of miR34a. We investigated if this increase of miR34a was due to increased levels of transcription at the miR34a promoter.
Cell culture, QPCR, and ChIP
All cell lines were cultured at 5% CO2 and 37° C with Skov3 and PC3 cells in RPMI (Hyclone) and 2 mM L-glutamine and Saos2 cells cultured in DMEM high modified (Hyclone). All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. Cells were plated at 2-3x10^6 cells in a 15cm dish and incubated overnight. Cells were cross-linked in 1% formaldehyde, quenched in glycine (0.125M), resuspended in cell lysis buffer (5mM PIPES, 85mM KCL, 0.5% NP40, protease inhibitor), and sonicated (Bioruptor Sonicator Diagenode) in nucleus lysis buffer (50mM TRIS-HCL pH 8.0, 10mM EDTA, 1% SDS, protease inhibitor). The samples were incubated overnight at 4 °C with the appropriate antibody. Salmon sperm DNA/Protein A–agarose (Upstate/Millipore) was used to pull down the antibody. DNA was eluted in elution buffer (1% SDS, 100 mM NaHCO3), followed by reverse cross-linking, RNase-A and protease-K treatment. The DNA was eluted by using a Qiagen PCR purification kit. The following antibodies were used (4 μg/sample): phospho-polymerase II (abcam: ab5095). QPCR was carried out using KAPA 2G SYBRGreen (Kapa Biosystems) using the Applied Biosystems 7900HT machine with the cycling conditions: 95 °C for 3 min, 95 °C for 3 s, 60 °C for 30 s.
Analysis
QPCR was performed in technical replicate for each sample and the mean of the technical replicates was subsequently used to calculate the fraction of input. The fold change of the miR34a asRNA overexpression samples was then calculated by dividing the values by the values for the corresponding mock samples. The fold values were then log2 transformed and the Student’s t-test was used to test for significant differences under the null hypothesis that the true mean value of log2 transformed fold changes were equal to 0.
Primers
primers <- data.frame(
name=c(
"miR34aChIP F1",
"miR34aChIP R1"
),
sequence=c(
"AAA GTT TGC AAA GAA GGA GGC GGG",
"AGG GAA GAA AGA ACT AGC CGA GCA"
)
)
primers
| name | sequence |
|---|---|
| miR34aChIP F1 | AAA GTT TGC AAA GAA GGA GGC GGG |
| miR34aChIP R1 | AGG GAA GAA AGA ACT AGC CGA GCA |
data <- getData("Figure 3d")
#calculate means of technical replicates
data <- mutate(data, techMean = rowMeans(select(data, Quantity1, Quantity2)))
#calculate fraction of input
.fractionOfInput <- function(data, techMean, Biological.Replicate, condition) {
bool1 <- data$`Biological Replicate` == Biological.Replicate
bool2 <- data$condition == condition
bool3 <- data$sample == "input"
bool <- bool1 & bool2 & bool3
techMean / pull(data, techMean)[bool]
}
data <- data %>%
group_by(`Biological Replicate`, condition, sample) %>%
mutate(fractionInput = .fractionOfInput(data, techMean, `Biological Replicate`, condition)) %>%
ungroup() %>%
filter(sample != "input")
#calculate fold over mock
.foldOverControl <- function(data, fractionInput, Biological.Replicate) {
bool1 <- data$`Biological Replicate` == 3
bool2 <- data$condition == "mock"
bool <- bool1 & bool2
fractionInput / pull(data, fractionInput)[bool]
}
data <- data %>%
mutate(
foldOverControl = .foldOverControl(data, fractionInput, `Biological Replicate`),
logfoldOverControl= log2(foldOverControl)
) %>%
ungroup()
#calculate stats
stats <- data %>%
group_by(condition) %>%
summarize(
n = n(),
mean = mean(logfoldOverControl),
CI95l =t.test(logfoldOverControl)$conf.int[1],
CI95h =t.test(logfoldOverControl)$conf.int[2],
pValue = t.test(logfoldOverControl, mu = 0)$p.value
) %>%
pFormat(.) %>%
mutate(pFormat = case_when(
condition == "mock" ~ "",
TRUE ~ pFormat
))
p <- ggplot(data = NULL) +
geom_dotplot(
data = data,
aes(
x = condition,
y = logfoldOverControl,
fill = condition
),
binwidth = 1/10,
#alpha = 0.5,
colour = NA,
position = position_dodge(width = 0.9),
binaxis='y',
stackdir='center',
dotsize = 2,
show.legend = TRUE
) +
scale_y_continuous("log2(Fold)") +
labs(
x = "Cell line",
y = "log2(Fold polII enrichment)",
title = "Phosphorylated Poll II ChIP"
) +
guides(fill = FALSE)
markdown <- p +
geom_linerange(
data = stats,
aes(x = condition, ymin = CI95l, ymax = CI95h),
colour = "gray20",
show.legend = FALSE
) +
geom_point(
data = stats,
aes(x = condition, y = mean),
colour = "gray20",
shape = 95,
size = 6,
show.legend = FALSE
) +
geom_segment(
data = filter(stats, condition == "lncTAM34a"),
aes(x = 1, y = CI95h + 0.25, xend = 2, yend = CI95h + 0.25),
colour = "grey43"
) +
geom_label(
data = stats,
aes(x = 1.5, y = CI95h + 0.45, label = pFormat),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
size = 5,
family = "Arial Unicode MS"
)
plotRmarkdown(markdown)
pdf <- p +
geom_linerange(
data = stats,
aes(x = condition, ymin = CI95l, ymax = CI95h),
colour = "grey30",
size = 0.3,
show.legend = FALSE
) +
geom_point(
data = stats,
aes(x = condition, y = mean),
colour = "grey30",
shape = 95,
size = 4,
show.legend = FALSE
) +
geom_segment(
data = filter(stats, condition == "lncTAM34a"),
aes(x = 1, y = CI95h + 0.25, xend = 2, yend = CI95h + 0.25),
colour = "grey30",
size = 0.3
) +
geom_label(
data = stats,
aes(x = 1.5, y = CI95h + 0.45, label = pFormat),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
colour = "grey30",
size = 2.5,
family = "Arial Unicode MS"
)
figure <- plotPDF(pdf)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 3d"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 43,
# units = "mm",
# dpi = 10000000
# )
Phosphorylated Poll II ChIP in miR34a asRNA over-expressing PC3 stable cell lines compared to their respective mock control. The points represent the values obtained from each independant experiment (n = 4). 95% confidence interval (vertical black lines), mean (horizontal black lines), and p-values are shown with the horizontal line under the p-value indicating the comparison that was tested.
Phosphorylated pol-II was increased at the miR34a promoter in miR34a asRNA over-expressing cell lines indicating that the regulation of miR34a by miR34a asRNA is transcriptional.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] broom_0.4.3 bindrcpp_0.2
## [3] gtable_0.2.0 ggthemes_3.4.0
## [5] printr_0.1 forcats_0.2.0
## [7] stringr_1.2.0 dplyr_0.7.4
## [9] purrr_0.2.4 readr_1.1.1
## [11] tidyr_0.8.0 tibble_1.4.2
## [13] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [15] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] survival_2.41-3 yaml_2.1.16 colorspace_1.3-2
## [61] rvest_0.3.2 bindr_0.1 haven_1.1.1
Kaplan-Meier survival curves comparing the effects of TP53-mutated samples, low lncTAM34a expression and low miR34a expression to control samples in 17 cancers from TCGA. Panels showing survival curves based on gene expression include only TP53 wild type patients where RNAseq data exists.
RNAseq data was downloaded from TCGA and processed as described previously. Briefly, RNAseq data were aligned to the human hg19 assembly and quantified using GENCODE (v19) annotated HTSeq-counts and FPKM normalizations. Expression data from miR34a and lncTAM34a (identified as RP3-510D11.2) were used for further analysis.
Survival analysis was performed on TCGA vital state and follow-up data, downloaded from GDC on 27/10/2017 using the R survival package.
data <- getData("Figure 4a")
#TP53 status independant
#Set up all combinations of variables to calcualte survival probability for
independant <- expand.grid(
gene = c("lncTAM34a", "miR34a", "TP53"),
cancer = sort(unique(data$Cancer))
) %>%
as_tibble() %>%
mutate_if(is.factor, as.character) %>%
group_by(gene, cancer) %>%
#add data of the corresponding cancer and, for gene expression, filter WT TP53
mutate(data = map2(cancer, gene, function(c, g, cm = data) {
if(g == "TP53") {
filter(cm, Cancer == c)
} else {
filter(cm, Cancer == c & TP53 == FALSE)
}
})) %>%
#select the gene to be examined
mutate(data = pmap(list(gene, data), function(g, d) {
select(d, g, vitalStatus, FU)
})) %>%
#remove samples where gene expression/mutation status is na
mutate(data = map(data, function(x) filter(x, is.na(x[[1]]) == FALSE))) %>%
#remove cancers where comparisons without data exist
mutate(bool = map_lgl(data, function(x) nrow(x) == 0)) %>%
group_by(cancer) %>%
filter(!any(bool)) %>%
#calculate the percentile for the gene's expression for each sample
mutate(data = map2(gene, data, function(g, d) {
if(any(grepl("TP53", colnames(d)))) {
mutate(d, percentile = NA)
} else {
mutate(d, percentile = ntile(x = d[[1]], n = 10))
}
})) %>%
#classify 10th percentile and under as "low" and the rest as "others"
#classify TP53 mutated as low and WT as others
mutate(data = map(data, function(d) {
if(any(grepl("TP53", colnames(d)))) {
mutate(d, class = if_else(TP53, "low", "others"))
} else {
mutate(d, class = if_else(percentile == 1, "low", "others"))
}
})) %>%
#calculate survival probability
mutate(surv.obj = map(data, ~get_survival(.x))) %>%
mutate(surv.fit = map2(data, surv.obj, function(x, y) survival_fit(y, x$class))) %>%
mutate(p.value = map2_dbl(data, surv.obj, function(x, y) survival_p(y, x$class))) %>%
ungroup()
independant <- filter(independant, cancer == "KIRP")
trash <- pmap(
list(independant$data, independant$surv.fit, independant$gene, independant$cancer, independant$p.value),
function(v, w, x, y, z) {
plotKM(v, w, x, y, z)
}
)
Correlation analysis between the effects on the 5-year survival probability of TP53-mutated samples, low lncTAM34a expression, and low miR34a expression as indicated. For each variable the 5-year survival probability was compared to the control group (negative values indicate lower survival, positive values indicate higher survival). Spearman correlation coefficients are given on top left of each plot. Each dot indicates one cancer type. Boxplots on the bottom summarize the effects for the parameter on the x-axis, with indication of P values, as calculated using paired Wilcoxon signed rank test. Low expression was defined as TP53 non- mutated samples having expression values in the bottom 10th percentile.
RNAseq data was downloaded from TCGA and processed as described previously. Briefly, RNAseq data were aligned to the human hg19 assembly and quantified using GENCODE (v19) annotated HTSeq-counts and FPKM normalizations. Expression data from miR34a and lncTAM34a (identified as RP3-510D11.2) were used for further analysis.
Survival analysis was performed on TCGA vital state and follow-up data, downloaded from GDC on 27/10/2017 using the R survival package.
data <- getData("Figure 4b")
correlation_matrix <- filter(data, !is.na(TP53) & !is.na(lncTAM34a))
cancers <- sort(unique(correlation_matrix$Cancer))
#TP53 status independant
#Set up all combinations of variables to calcualte survival probability for
independant <- expand.grid(
gene = c("lncTAM34a", "miR34a", "TP53"),
cancer = cancers,
geneLevel = c("low", "others")
) %>%
as_tibble() %>%
arrange(cancer, gene, geneLevel) %>%
mutate_if(is.factor, as.character) %>%
group_by(gene, cancer, geneLevel) %>%
#add data of the corresponding cancer
mutate(data = map(cancer, function(c, cm = correlation_matrix) {
filter(cm, Cancer == c)
})) %>%
#select the gene to be examined
mutate(data = pmap(list(gene, data), function(g, d) {
select(d, g, vitalStatus, FU)
})) %>%
#calculate the percentile for the gene's expression for each sample
mutate(data = map2(gene, data, function(g, d) {
if(any(grepl("TP53", colnames(d)))) {
mutate(d, percentile = NA)
} else {
mutate(d, percentile = ntile(x = d[[1]], n = 10))
}
})) %>%
#classify 10th percentile and under as "low" and the rest as "others"
#classify TP53 mutated as low and WT as others
mutate(data = map(data, function(d) {
if(any(grepl("TP53", colnames(d)))) {
mutate(d, class = if_else(TP53, "low", "others"))
} else {
mutate(d, class = if_else(percentile == 1, "low", "others"))
}
})) %>%
#filter data class to correspond to expected geneLevel
mutate(data = map2(geneLevel, data, function(gl, d) {
filter(d, class == gl)
})) %>%
#calculate survival probability
mutate(surv.obj = map(data, ~get_survival(.x))) %>%
mutate(surv.fit = map(surv.obj, ~survival_fit(.x))) %>%
mutate(surv.prob = map_dbl(surv.fit, ~calcSurvProb(.x))) %>%
ungroup() %>%
select(-data, -surv.fit) %>%
mutate(type = "independant")
# TP53 status dependent
#Set up all combinations of variables to calcualte survival probability for
dependant <- expand.grid(
gene = c("lncTAM34a", "miR34a"),
mutation = c(TRUE, FALSE),
cancer = cancers,
geneLevel = c("low", "others")
) %>%
as_tibble() %>%
arrange(cancer, mutation, gene, geneLevel) %>%
mutate_if(is.factor, as.character) %>%
group_by(gene, mutation, cancer, geneLevel) %>%
#add data of the corresponding cancer and TP53 status
mutate(data = pmap(list(cancer, mutation), function(c, m, cm = correlation_matrix) {
filter(cm, Cancer == c & TP53 == m)
})) %>%
#select the gene to be examined
mutate(data = pmap(list(gene, data), function(g, d) {
select(d, g, vitalStatus, FU)
})) %>%
#calculate the percentile for the gene's expression for each sample
mutate(data = map2(gene, data, function(g, d) {
mutate(d, percentile = ntile(x = d[[1]], n = 10))
})) %>%
#classify 10th percentile and under as "low" and the rest as "others"
mutate(data = map(data, function(d) {
mutate(d, class = if_else(percentile == 1, "low", "others"))
})) %>%
#filter data class to correspond to expected geneLevel
mutate(data = map2(geneLevel, data, function(gl, d) {
filter(d, class == gl)
})) %>%
#remove comparisons where there is not enough data
mutate(bool = map_lgl(data, function(d) {
!nrow(d) <= 1
})) %>%
filter(bool) %>%
#calculate survival probability
mutate(surv.obj = map(data, ~get_survival(.x))) %>%
mutate(surv.fit = map(surv.obj, ~survival_fit(.x))) %>%
mutate(surv.prob = map_dbl(surv.fit, ~calcSurvProb(.x))) %>%
ungroup() %>%
select(-(data:surv.fit)) %>%
mutate(type = "dependent")
#combine the analyses and filter those to be included in the figure
survData <- bind_rows(dependant, independant) %>%
filter(!is.na(surv.prob)) %>%
filter((type == "dependent") | (type == "independant" & gene == "TP53")) %>%
filter(is.na(mutation) | mutation == FALSE) %>%
group_by(gene, mutation, cancer, type) %>%
mutate(n = n()) %>%
filter(n == 2) %>%
summarize(relSurv = surv.prob[geneLevel == "low"] - surv.prob[geneLevel == "others"]) %>%
ungroup() %>%
select(-mutation, -type) %>%
spread(gene, relSurv)
#Add the colors for the plot to the data
colors <- getCancerColors()
survData <- full_join(survData, colors, by = "cancer")
#add ggplot theme
theme_remove_all <- theme_remove_all()
#plot 1
p1 <- mainPlot(survData, "TP53", "lncTAM34a", tRA = theme_remove_all)
p2 <- hPlot(survData, "TP53", tRA = theme_remove_all)
renderPlots(p1, p2)
#plot 2
p1 <- mainPlot(survData, "lncTAM34a", "miR34a", tRA = theme_remove_all)
p2 <- hPlot(survData, "lncTAM34a", tRA = theme_remove_all)
renderPlots(p1, p2)
#plot 3
p1 <- mainPlot(survData, "miR34a", "TP53", tRA = theme_remove_all)
p2 <- hPlot(survData, "miR34a", tRA = theme_remove_all)
renderPlots(p1, p2)
projectUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/inst"
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
url <- fileMap(type = "png")["Figure 5"][[1]]
knitr::include_graphics(file.path(projectUrl, url))
Figure 5: A graphical summary of the proposed lncTAM34a function. Stress stimuli, originating in the cytoplasm or nucleus, activate TP53 as well as additional factors. These factors then bind to the miR34a promoter and drive baseline transcription levels of the sense and antisense strands. lncTAM34a serves to further increases miR34a HG transcription levels resulting in enrichment of polymerase II at the miR34a promoter and a positive feed-forward loop. lncTAM34a-mediated increases in miR34a HG potentially occur via direct DNA binding alone, by direct DNA binding and recruitment of additional factors, or through a yet unknown mechanism. miR34a HG then, in turn, is spliced and processed before being exported to the cytoplasm. The miR34a pre-miRNA then undergoes further processing before the mature miR34a binds to the RISC complex allowing it to bind and repress its targets and exert its tumor suppressive effects.
Note: in cases where less than 3 samples are in any group, r-estimates and p-values are not reported.
data <- getData("Supplementary Figure 1a")
#normalize expression values
data <- mutate(
data,
RP3 = log2(RP3 / max(RP3)),
miR34a = log2(miR34a / max(miR34a))
)
#add BRCA subtypes
data <- data %>%
mutate(PAM50 = if_else(is.na(PAM50), "", PAM50)) %>%
mutate(cancer_PAM50 = gsub("BRCA", "BRCA ", paste(cancer, PAM50, sep = "")))
#sort
data <- arrange(data, cancer_PAM50, TP53, RP3)
#remove infinite data
data <- filter(data, !is.infinite(RP3) & !is.infinite(miR34a))
#diploid only
data <- filter(data, abs(RP3_cna) < 0.1)
#rename TP53
data <- mutate(data, TP53 = if_else(TP53 == 1, "TP53mut", "TP53wt"))
#diploid only correlation analysis
#calculate correlation for all samples per cancer type
all <- data %>%
filter(RP3_cna < 0.1) %>%
group_by(cancer_PAM50) %>%
summarize(
n = n(),
`all p` = cor.test(RP3, miR34a, method = "spearman")$p.value,
`all rho` = cor.test(RP3, miR34a, method = "spearman")$estimate
) %>%
mutate(
`all p` = format(`all p`, scientific = TRUE, digits = 3),
`all rho` = format(`all rho`, scientific = FALSE, digits = 2)
)
#calculate correlation for p53 wt and mut samples per cancer type
p53 <- data %>%
group_by(cancer_PAM50, TP53) %>%
filter(n() > 3) %>%
summarize(
n = n(),
p = cor.test(RP3, miR34a, method = "spearman")$p.value,
rho = cor.test(RP3, miR34a, method = "spearman")$estimate
) %>%
ungroup() %>%
mutate(
p = format(p, scientific = TRUE, digits = 3),
rho = format(rho, scientific = FALSE, digits = 1)
) %>%
gather(metric, value, -(cancer_PAM50:TP53)) %>%
unite(temp, TP53, metric, sep = " ") %>%
spread(temp, value)
table <- full_join(all, p53, by = "cancer_PAM50") %>%
rename(cancer = cancer_PAM50, `all n` = n) %>%
select(
cancer, `all n`, `all rho`, `all p`, `TP53wt n`,
`TP53wt rho`, `TP53wt p`, `TP53mut n`, `TP53mut rho`, `TP53mut p`
)
table
| cancer | all n | all rho | all p | TP53wt n | TP53wt rho | TP53wt p | TP53mut n | TP53mut rho | TP53mut p |
|---|---|---|---|---|---|---|---|---|---|
| ACC | 10 | 0.55 | 1.04e-01 | 10 | 0.55 | 1.04e-01 | NA | NA | NA |
| BLCA | 228 | 0.51 | 7.89e-17 | 134 | 0.45 | 3.86e-08 | 94 | 0.43 | 1.73e-05 |
| BRCA Basal | 42 | 0.57 | 9.54e-05 | 10 | 0.62 | 6.02e-02 | 32 | 0.57 | 7.41e-04 |
| BRCA Her2 | 44 | 0.15 | 3.39e-01 | 12 | 0.22 | 4.85e-01 | 32 | 0.07 | 7.10e-01 |
| BRCA LumA | 199 | 0.34 | 8.22e-07 | 177 | 0.34 | 2.96e-06 | 22 | 0.49 | 2.31e-02 |
| BRCA LumB | 70 | 0.17 | 1.57e-01 | 61 | 0.15 | 2.53e-01 | 9 | 0.17 | 6.78e-01 |
| CESC | 156 | 0.14 | 8.37e-02 | 145 | 0.16 | 5.45e-02 | 11 | -0.05 | 9.03e-01 |
| HNSC | 313 | 0.54 | 8.38e-25 | 123 | 0.61 | 0.00e+00 | 190 | 0.45 | 9.68e-11 |
| KICH | 5 | 0.60 | 3.50e-01 | 5 | 0.60 | 3.50e-01 | NA | NA | NA |
| KIRC | 142 | 0.35 | 2.06e-05 | 141 | 0.34 | 4.41e-05 | NA | NA | NA |
| KIRP | 167 | 0.45 | 9.16e-10 | 163 | 0.45 | 2.04e-09 | 4 | 0.80 | 3.33e-01 |
| LGG | 271 | 0.63 | 9.92e-32 | 76 | 0.73 | 0.00e+00 | 195 | 0.39 | 2.26e-08 |
| LIHC | 153 | 0.56 | 3.64e-14 | 114 | 0.52 | 4.18e-09 | 39 | 0.45 | 3.95e-03 |
| LUAD | 234 | 0.28 | 1.15e-05 | 128 | 0.36 | 2.87e-05 | 106 | 0.23 | 1.91e-02 |
| LUSC | 139 | 0.23 | 6.74e-03 | 42 | 0.04 | 7.93e-01 | 97 | 0.33 | 9.91e-04 |
| OV | 56 | 0.23 | 8.37e-02 | 10 | 0.84 | 4.46e-03 | 46 | 0.15 | 3.31e-01 |
| PRAD | 413 | 0.47 | 1.33e-23 | 375 | 0.46 | 6.13e-21 | 38 | 0.45 | 4.58e-03 |
| SKCM | 165 | 0.65 | 5.43e-21 | 152 | 0.61 | 7.85e-17 | 13 | 0.43 | 1.40e-01 |
| STAD | 225 | 0.37 | 8.23e-09 | 145 | 0.37 | 5.71e-06 | 80 | 0.42 | 1.03e-04 |
| THCA | 469 | 0.46 | 1.07e-25 | 467 | 0.46 | 4.06e-26 | NA | NA | NA |
#add abbreviation definitions
def <- tibble(
fullName = c(
"Adrenocortical carcinoma", "Bladder Urothelial Carcinoma", "Breast invasive carcinoma",
"Breast invasive carcinoma", "Breast invasive carcinoma", "Breast invasive carcinoma",
"Cervical squamous cell carcinoma and\nendocervical adenocarcinoma", "Head and Neck squamous cell carcinoma", "Kidney Chromophobe",
"Kidney renal clear cell carcinoma", "Kidney renal papillary cell carcinoma", "Brain Lower Grade Glioma",
"Liver hepatocellular carcinoma", "Lung adenocarcinoma", "Lung squamous cell carcinoma",
"Ovarian serous cystadenocarcinoma", "Prostate adenocarcinoma", "Skin Cutaneous Melanoma",
"Stomach adenocarcinoma", "Thyroid carcinoma"
),
cancer = c(
"ACC", "BLCA", "BRCA Basal",
"BRCA Her2", "BRCA LumA", "BRCA LumB",
"CESC", "HNSC", "KICH",
"KIRC", "KIRP", "LGG",
"LIHC", "LUAD", "LUSC",
"OV", "PRAD", "SKCM",
"STAD", "THCA"
)
)
table <- def %>%
full_join(table, by = "cancer") %>%
mutate(finalName = case_when(
fullName == "Breast invasive carcinoma" ~ paste(fullName, gsub("BRCA", "(BRCA)", cancer), sep = " "),
TRUE ~ paste(fullName, "(", cancer, ")", sep = " ")
)) %>%
select(-fullName, -cancer) %>%
rename(cancer = finalName) %>%
select(cancer, `all n`, `all rho`, `all p`, `TP53wt n`, `TP53wt rho`, `TP53wt p`, `TP53mut n`, `TP53mut rho`, `TP53mut p`)
#save figure
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 1-Supplement 1a"][[1]])
# pdf(file = path, width = 13, height = 6.1)
# gridExtra::grid.table(table, rows = NULL)
# invisible(dev.off())
R-squared and p-values from the correlation analysis investigating the correlation between miR34a and miR34a asRNA expression in p53 wild type (wt) and mutated (mut) samples within TCGA cancer types. Bladder Urothelial Carcinoma (BLCA), Breast invasive carcinoma (BRCA), Head and Neck squamous cell carcinoma (HNSC), Lower Grade Glioma (LGG), Liver hepatocellular carcinoma (LIHC), Lung adenocarcinoma (LUAD), Lung squamous cell carcinoma (LUSC), Ovarian serous cystadenocarcinoma (OV), Prostate adenocarcinoma (PRAD), Skin Cutaneous Melanoma (SKCM), Stomach adenocarcinoma (STAD).
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
We interogated RNA sequencing data from TCGA to determine in miR34a and miR34a asRNA expression was correlated in both TP53 wild type and mutated samples.
RNA-Seq data and copy number data were downloaded from TCGA and processed as described previously (Ashouri et al. 2016). Briefly, RNA-Seq data were aligned to the human hg19 assembly and quantified using GENCODE (v19) annotated HTSeq-counts and FPKM normalizations. Expression data from miR34a and miR34 asRNA (identified as RP3-510D11.2) were used for further analysis. Copy number amplitudes for GENCODE genes were determined from segmented copy-number data. Samples that were diploid for miR34 asRNA were identified as those samples that had copy number amplitudes between -0.1 and 0.1.
Somatic mutation data were downloaded from the Genomics Data Commons data portal (GDC) as mutation annotation format (maf) files, called using Mutect2 on 30/10/2017 (v7) (Grossman et al. 2016).
data <- getData("Supplementary Figure 1b")
#normalize expression values
data <- mutate(
data,
RP3 = log2(RP3 / max(RP3)),
miR34a = log2(miR34a / max(miR34a))
)
#add BRCA subtypes
data <- data %>%
mutate(PAM50 = if_else(is.na(PAM50), "", PAM50)) %>%
mutate(cancer_PAM50 = gsub("BRCA", "BRCA ", paste(cancer, PAM50, sep = "")))
#sort
data <- arrange(data, cancer_PAM50, TP53, RP3)
#remove infinite data
data <- filter(data, !is.infinite(RP3) & !is.infinite(miR34a))
#diploid only
data <- filter(data, abs(RP3_cna) < 0.1)
##prepare for plotting
data <- data %>%
mutate(TP53 = if_else(TP53 == 0, "TP53 wt", "TP53 mut")) %>%
select(TCGA_cancer_id, TP53, cancer_PAM50, RP3, miR34a) %>%
gather(gene, value, -(TCGA_cancer_id:cancer_PAM50)) %>%
mutate(gene = if_else(gene == "RP3", "lncTAM34a", "miR34a"))
#remove cancers that don't have at least 5 patients in both TP53 wt and mutated
data <- data %>%
group_by(cancer_PAM50, TP53, gene) %>%
filter(n() > 5) %>%
group_by(cancer_PAM50, gene) %>%
filter(length(unique(TP53)) == 2) %>%
ungroup()
#calculate stats
stats <- data %>%
group_by(cancer_PAM50, gene, TP53) %>%
summarize(value = list(value)) %>%
spread(TP53, value) %>%
mutate(
median_wt = median(unlist(`TP53 wt`)),
median_mut = median(unlist(`TP53 mut`)),
CI95l_wt = t.test(unlist(`TP53 wt`))$conf.int[1],
CI95l_mut = t.test(unlist(`TP53 mut`))$conf.int[1],
CI95h_wt = t.test(unlist(`TP53 wt`))$conf.int[2],
CI95h_mut = t.test(unlist(`TP53 mut`))$conf.int[2],
pValue = wilcox.test(unlist(`TP53 wt`), unlist(`TP53 mut`), alternative = "two.sided")$p.value
) %>%
ungroup() %>%
gather(metric, value, -(cancer_PAM50:`TP53 wt`), -pValue) %>%
separate(col = metric, into = c("metric", "TP53"), sep = "_") %>%
spread(metric, value) %>%
mutate(TP53 = if_else(TP53 == "wt", "TP53 wt", "TP53 mut")) %>%
pFormat(.)
#add fake data where p53 mut is missing (will be hidden in plot) to keep empty space
data <- data %>%
mutate(TP53 = parse_factor(TP53, levels = c("TP53 wt", "TP53 mut"))) %>%
mutate(gene = parse_factor(gene, levels = c("lncTAM34a", "miR34a"))) %>%
mutate(cancer_PAM50 = parse_factor(cancer_PAM50, levels = rev(unique(cancer_PAM50))))
stats <- stats %>%
mutate(TP53 = parse_factor(TP53, levels = c("TP53 wt", "TP53 mut"))) %>%
mutate(gene = parse_factor(gene, levels = c("lncTAM34a", "miR34a"))) %>%
mutate(cancer_PAM50 = parse_factor(cancer_PAM50, levels = rev(unique(cancer_PAM50))))
ggplot(data = NULL) +
geom_jitter(
data = data,
aes(
x = cancer_PAM50,
y = value,
colour = TP53
),
position = position_dodge(width = 0.75),
alpha = 0.5
) +
geom_text(
data = stats,
aes(
x = cancer_PAM50,
y = 1,
label = pFormat
)
) +
geom_point(
data = stats,
aes(
x = cancer_PAM50,
y = median,
group = TP53
),
colour = "grey30",
shape = 124,
size = 4,
lwd = 1,
position = position_dodge(width = 0.75)
) +
facet_wrap(~gene, ncol = 2) +
coord_flip(ylim = c(-12, 2.05)) +
labs(
x = "Cancer",
y = "Expression"
) +
theme_few() +
scale_colour_economist() +
theme(legend.position = "top") +
guides(colour = guide_legend(title = "TP53 status"))
#plot pdf
figure <- ggplot(data = NULL) +
geom_jitter(
data = data,
aes(
x = cancer_PAM50,
y = value,
colour = TP53
),
position = position_dodge(width = 0.75),
alpha = 0.5,
size = 1
) +
geom_text(
data = stats,
aes(
x = cancer_PAM50,
y = 1,
label = pFormat
),
size = 3.25
) +
geom_point(
data = stats,
aes(
x = cancer_PAM50,
y = median,
group = TP53
),
colour = "grey30",
shape = 124,
size = 4,
lwd = 1,
position = position_dodge(width = 0.75)
) +
facet_wrap(~gene, ncol = 2) +
coord_flip(ylim = c(-12, 2.05)) +
labs(
x = "Cancer",
y = "Expression"
) +
theme_few() +
scale_colour_economist() +
theme(
plot.margin = unit(rep(0.1, 4), "lines"),
legend.position = "top",
legend.background = element_blank(),
legend.box.spacing = unit(5, "pt"), #this controls the spacing between strip.text.x and the legend
legend.margin = margin(rep(0, 4), unit = "pt"),
legend.key.size = unit(1/5, "cm"),
legend.title = element_text(size = 9),
legend.text = element_text(size = 7),
axis.title.y = element_blank(),
axis.title.x = element_text(size = 9, margin = margin(t = 5)),
axis.text.y = element_text(size = 10),
axis.text.x = element_text(size = 10),
axis.ticks = element_line(size = 0.25),
axis.ticks.length = unit(1/15, "cm"),
panel.border = element_rect(fill = NA, size = 0.15)
) +
guides(colour = guide_legend(title = "TP53 status", override.aes = list(size = 3, alpha = 1)))
##save to pdf
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 1-Supplement 1b"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 135,
# width = 205,
# units = "mm"
# )
A graphical depiction of the TCGA expression analysis. P-values are shown on the right side of each panel and compare TP53 wild type samples with nonsynonymous TP53 muated samples. The small vertical line indicated the median. Bladder Urothelial Carcinoma (BLCA), Breast invasive carcinoma (BRCA), Head and Neck squamous cell carcinoma (HNSC), Lower Grade Glioma (LGG), Liver hepatocellular carcinoma (LIHC), Lung adenocarcinoma (LUAD), Lung squamous cell carcinoma (LUSC), Ovarian serous cystadenocarcinoma (OV), Prostate adenocarcinoma (PRAD), Skin Cutaneous Melanoma (SKCM), Stomach adenocarcinoma (STAD).
miR34a asRNA and miR34a tend to exhibit a decreased expression in cancer types examined in patients with TP53 mutations.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
projectUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/inst"
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
url <- fileMap(type = "png")["Supplementary Figure 2a"][[1]]
knitr::include_graphics(file.path(projectUrl, url))
A schematic picture of the miR34a asRNA locus including the location of the primers used in the primer walk assay.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
projectUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/inst"
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
We desired to access the polyadenylation status of the miR34a asRNA transcript.
Cell culture and PCR All cell lines were cultured at 5% CO2 and 37° C with HEK293T cells cultured in DMEM high glucose (Hyclone). All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. RNA was extracted using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. PCR was then performed and the results analyzed on a 2% agarose gel.
Primers
primers <- data.frame(
name=c(
"miR34aAS_F1",
"miR34aAS_R1",
"miR34aHG_F",
"miR34aHG_R",
"B-actin_F",
"B-actin_R",
"U48_F",
"U48_R"
),
sequence=c(
"AGC GGC ATC TCC TCC ACC TGA AA",
"TTG CCT CGT GAG TCC AAG GAG AAT",
"TCT GCT CCA GTG GCT GAT GAG AAA",
"GTT CAC TGG CCT CAA AGT TGG CAT",
"AGG TCA TCA CCA TTG GCA ATG AG",
"CTT TGC GGA TGT CCA CGT CA",
"AGT GAT GAT GAC CCC AGG TA",
"GGT CAG AGC GCT GCG GTG AT"
)
)
primers
| name | sequence |
|---|---|
| miR34aAS_F1 | AGC GGC ATC TCC TCC ACC TGA AA |
| miR34aAS_R1 | TTG CCT CGT GAG TCC AAG GAG AAT |
| miR34aHG_F | TCT GCT CCA GTG GCT GAT GAG AAA |
| miR34aHG_R | GTT CAC TGG CCT CAA AGT TGG CAT |
| B-actin_F | AGG TCA TCA CCA TTG GCA ATG AG |
| B-actin_R | CTT TGC GGA TGT CCA CGT CA |
| U48_F | AGT GAT GAT GAC CCC AGG TA |
| U48_R | GGT CAG AGC GCT GCG GTG AT |
url <- fileMap(type = "png")["Supplementary Figure 2b"][[1]]
knitr::include_graphics(file.path(projectUrl, url))
Polyadenylation status of spliced and unspliced miR34a asRNA in HEK293T cells.
Results indicate that miR34a asRNA is polyadenylated.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
projectUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/inst"
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
We investigated the propensity of miR34a asRNA to be alternatively spliced, using PCR cloning and sequencing.
Cell culture and cloning
All cell lines were cultured at 5% CO2 and 37° C with U2OS cells cultured in McCoy’s 5a (Life Technologies), . All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. RNA was extracted using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. PCR was performed with the specified primer sets with annealing temperature 60˚C unless otherwise indicated (see below). PCR was run for 35 cycles for those primer sets with annealing temperature 60˚C and 40 cycles in other cases. Resulting PCR products were run on a agarose gel, gel extracted (8 in total) with the QIAquick gel extraction kit (Qiagen), cloned using the Strata Cloning kit (Agilent), and sequenced. The sequencing results were visualized in the UCSC genome browser. Results aligning to the opposite strand and spurious results (several small 24bp alignments) were removed from the final figure.
Primers
primers <- data.frame(
name=c(
"miR34a AS F12",
"miR34a AS R1",
"miR34a AS R2",
"miR34a AS R3",
"miR34a AS Ex3 R1"
),
sequence=c(
"AAACACAAGCGTTTACCTGGGTGC",
"TTGCCTCGTGAGTCCAAGGAGAAT",
"ATAGGTTCATTTGCCCGATGTGCC",
"CCACAGCTGTTGCTTCTGAATGCT",
"TCAGATAGGTACCAAAAATGATGGCCGCAACTAATGACGGAT"
)
)
primers
| name | sequence |
|---|---|
| miR34a AS F12 | AAACACAAGCGTTTACCTGGGTGC |
| miR34a AS R1 | TTGCCTCGTGAGTCCAAGGAGAAT |
| miR34a AS R2 | ATAGGTTCATTTGCCCGATGTGCC |
| miR34a AS R3 | CCACAGCTGTTGCTTCTGAATGCT |
| miR34a AS Ex3 R1 | TCAGATAGGTACCAAAAATGATGGCCGCAACTAATGACGGAT |
Primer combinations:
miR34a AS F12 + miR34a AS R1
miR34a AS F12 + miR34a AS R2
miR34a AS F12 + miR34a AS R3
miR34a AS F12 + miR34a AS Ex3 R1 (56 degrees annealing)
miR34a AS F12 + miR34a AS Ex3 R1 (58 degrees annealing)
url <- fileMap(type = "png")["Supplementary Figure 2c"][[1]]
knitr::include_graphics(file.path(projectUrl, url))
Sequencing results from the analysis of miR34a asRNA isoforms in U2OS cells. miR34a AS ref. refers to the full length transcript as defined by the 3’-RACE and primer walk assay.
Results indicate that the miR34a asRNA transcript is post-transcriptionally spliced to form several different isoforms.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
asRNAs are known to be capable of exerting regulatory functions on both a transcriptional and post-transcriptional level and therefore, the cellular localization of the asRNA can be informative concerning the method of regulation.
Quantified RNAseq data from 11 cell lines from the GRCh38 assembly was downloaded from ENCODE and quantifications for miR34a asRNA (ENSG00000234546), ACTB (ENSG00000075624), GAPDH (ENSG00000111640), and MALAT1 (ENSG00000251562) were extracted. Cell lines for which data was downloaded include: A549, GM12878, HeLa-S3, HepG2, HT1080, K562 MCF-7, NCI-H460, SK-MEL-5, SK-N-DZ, SK-N-SH. Initial exploratory analysis revealed that several cell lines should not be included in the final figure for the following reasons: The SK-N-SH has a larger proportion of GAPDH in the nucleus than cytoplasm. The variation of miR34a asRNA expression is too large for SK-MEL-5. K562, HT1080, SK-N-DZ, and NCI-H460 have no or low miR34a asRNA expression. In addition, both the cytoplasmic markers ACTB and GAPDH were analyzed for their ability to differentiate between the nuclear and cytoplasmic fractions, and GAPDH was choosed for the final analysis due its superior performance. Furthermore, only polyadenylated libraries were used in the final analysis, due to the fact that the cellular compartment enrichment was seen to be improved in these samples, and all analyzed genes are reported to be polyadenylated (MALAT1: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2722846/). Only samples with 2 biological replicates were retained. For each cell type, gene, and biological replicate the fraction of transcripts per million (TPM) in each cellular compartment was calculate as the fraction of TPM in the specific compartment by the total TPM. The mean and standard deviation for the fraction was subsequently calculated for each cell type and cellular compartment and this information was represented in the final figure.
data <- getData("Supplementary Figure 2d")
#SK-N-SH has a larger proportion of GAPDH in the nucleus than cytoplasm
#The variation in miR34a asRNA expression is way too large for SK-MEL-5
#K562, HT1080, SK-N-DZ, and NCI-H460 have no or low miR34a asRNA expression
#use GAPDH instead of ACTB for cytoplasmic fraction, seems to be a better representation.
fdata <- data %>%
filter(!`Biosample term name` %in% c("K562", "HT1080", "SK-N-DZ", "NCI-H460", "SK-MEL-5", "SK-N-SH")) %>%
filter(gene_name != "ACTB") %>%
select(`Biosample term name`, gene_id, gene_name, fraction, `Library made from`, `Biological replicate(s)`, TPM) %>%
group_by(`Biosample term name`, gene_id, gene_name, fraction) %>%
mutate(tmp = n() == 2) %>%
filter(tmp | `Library made from` == "polyadenylated mRNA") %>%
ungroup() %>%
select(-tmp) %>%
group_by(`Biosample term name`, gene_id, gene_name, `Biological replicate(s)`) %>%
mutate(frac = TPM / sum(TPM)) %>%
ungroup()
stats <- fdata %>%
group_by(`Biosample term name`, gene_id, gene_name, fraction) %>%
filter(n() == 2) %>%
summarize(
n = n(),
mean = mean(frac),
sd_min = mean(frac) + sd(frac),
sd_max = mean(frac) - sd(frac)
) %>%
ungroup()
#prepare for plotting
stats <- mutate(stats, gene_name = parse_factor(gene_name, levels = c("GAPDH", "MALAT1", "lncTAM34a")))
markdown <- ggplot(data = NULL) +
geom_point(
data = stats,
aes(x = gene_name, y = mean, color = fraction),
position = position_dodge(width = 1)
) +
facet_wrap(~`Biosample term name`, ncol = 1) +
geom_errorbar(
data = stats,
aes(x = gene_name, ymax = sd_max, ymin = sd_min, colour = fraction),
width = 0,
position = position_dodge(width = 1)
) +
geom_vline(
mapping = NULL,
xintercept=c(1.5, 2.5),
color = "darkgrey",
linetype = 3
) +
scale_y_continuous(labels = scales::percent) +
coord_flip() +
labs(
y = "% TPM",
x = "Gene"
) +
guides(colour = guide_legend(title = "Fraction"))
plotRmarkdown(markdown) +
theme(
legend.position = "top",
axis.title.y = element_text(margin = margin(r = 20, "cm"))
)
pdf <- ggplot(data = NULL) +
geom_point(
data = stats,
aes(x = gene_name, y = mean, color = fraction),
position = position_dodge(width = 0.45),
size = 0.17
) +
facet_wrap(~`Biosample term name`, ncol = 1) +
geom_errorbar(
data = stats,
aes(x = gene_name, ymax = sd_max, ymin = sd_min, colour = fraction),
width = 0,
position = position_dodge(width = 0.45),
size = 0.25
) +
geom_vline(
mapping = NULL,
xintercept=c(1.5, 2.5),
color = "darkgrey",
linetype = 3,
size = 0.35
) +
scale_y_continuous(labels = scales::percent) +
coord_flip() +
labs(
y = "% TPM",
x = "Gene"
) +
guides(colour = guide_legend(title = "Fraction"))
figure <- plotPDF(pdf) +
theme(
axis.text.y = element_text(size = 4),
panel.spacing = unit(0.1, "lines"),
strip.text.x = element_text(size = 5, margin = margin(5.5, 5.5, 2.5, 5.5, unit = "pt"))
)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 1-Supplement 2e"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 83,
# units = "mm"
# )
RNAseq data from five fractionated cell lines in the ENCODE project showing the percentage of transcripts per million (TPM) for miR34a asRNA. MALAT1 (nuclear localization) and GAPDH (cytoplasmic localization) are included as fractionation controls. Points represent the mean and horizontal lines represent the standard deviation from two biological replicates.
The analysis revealed that the miR34a asRNA transcript localizes to both the nucleus and cytoplasm but primarily resides in the nucleus.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
cpat <- getData("Supplementary Figure 2e")
cpat
| Transcript name | Coding | Coding Potential Score | Hit number | Hit score | Frame score | Length | Coverage (%) | Log-Odds score | Type |
|---|---|---|---|---|---|---|---|---|---|
| HOTAIR | noncoding | -1.187350 | 0 | 0.0000 | 0.00000 | 319 | 13.43 | 32.91 | full |
| miR34a asRNA | noncoding (weak) | -0.883468 | 0 | 0.0000 | 0.00000 | 175 | 21.89 | 42.47 | full |
| β-actin | coding | 13.662000 | 250 | 181.3849 | 34.26889 | 1167 | 62.82 | 229.54 | full |
Analysis of coding potential of the miR34a asRNA transcript using the Coding-potential Calculator including miR34a asRNA, the characterized non-coding transcript HOTAIR, and the known coding transcript β-actin.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
projectUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/inst"
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
It is likely, due to the head-to head orientation of miR34a HG and asRNA, that transcription initiation may be activated from a single promoter in a bi-directional manner. To investigate whether miR34a HG and asRNA are transcribed from the same promoter as convergent transcripts, we cloned the miR34a HG promoter, including the p53 binding site, into a luciferase/renilla dual reporter vector which we hereafter refer to as p1. The p1 sequence was previously published in Raver-Shapira, N., et al., Transcriptional activation of miR-34a contributes to p53-mediated apoptosis. Mol Cell, 2007. 26(5): p. 731-43.
Cell culture, transfection and luminescence quantification
All cell lines were cultured at 5% CO2 and 37° C with HEK293T cells cultured in DMEM high glucose (Hyclone) and HCT116 cells in McCoy’s 5a (Life Technologies). All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. Cells were plated at 10,000 cells per well in a 96-well plate with a white bottom and cultured overnight. The following day cells were co-transfected with 10ng of empty, p1, or p2 plasmid and GFP using the standard lipofektamine 2000 (Life Technologies) protocol. The expression of GFP and luminescence was measured 24 h post transfection by using the Dual-Glo Luciferase Assay System (Promega) and detected by the GloMax-Multi+ Detection System (Promega). The expression of luminescence was normalized to GFP.
Analysis
Three independant experiments (biological replicates) were performed in total. The Student’s t-test was used to compare the empty vs p1 group’s log2 activity for both genes.
Constructs
ps <- data.frame(
name = c("p1"),
sequence = c("GCG CCC TGC CTG GCC CCC ACC TGG TCC TCT TTC CTT TTC AGG TGG AGG AGA TGC CGC TGT
CCC GTC GGT CTG GGG ACA GCC CAG CTC CCC GGA TCC CGG GCT GGA GAG ACG CGT CGC GGC
CCC GGG GCC TGG TGG CAC GAG CAG GAA GGA GGA CCC GGC GGC GGG CTC TGC CTG GGC TTG
CCT GGG CTT GTT CCG AGC CGG GCT GCT TCT CGG TGA CCA CGC AGA TCG GGG GCA TTT GGA
GAT TTT GCG GGA GTC CTG CAG CCA AGC TCC GGG GCA GGA GAG GCC TGG AAG CCT GCA CTA
CCT GCT C"
)
)
ps
| name | sequence |
|---|---|
| p1 | GCG CCC TGC CTG GCC CCC ACC TGG TCC TCT TTC CTT TTC AGG TGG AGG AGA TGC CGC TGT |
| CCC GTC GGT CTG GGG ACA GCC CAG CTC CCC GGA TCC CGG GCT GGA GAG ACG CGT CGC GGC | |
| CCC GGG GCC TGG TGG CAC GAG CAG GAA GGA GGA CCC GGC GGC GGG CTC TGC CTG GGC TTG | |
| CCT GGG CTT GTT CCG AGC CGG GCT GCT TCT CGG TGA CCA CGC AGA TCG GGG GCA TTT GGA | |
| GAT TTT GCG GGA GTC CTG CAG CCA AGC TCC GGG GCA GGA GAG GCC TGG AAG CCT GCA CTA | |
| CCT GCT C |
Primers
primers <- data.frame(
name=c(
"Luc_set_II_F",
"Luc_set_II_R",
"Renilla_pBiDir_F1",
"Renilla_pBiDir_R1",
"B-actin_F",
"B-actin_R"
),
sequence=c(
"AAG ATT CAA AGT GCG CTG CTG",
"TTG CCT GAT ACC TGG CAG ATG",
"TAA CGC GGC CTC TTC TTA TTT",
"GAT TTG CCT GAT TTG CCC ATA",
"AGG TCA TCA CCA TTG GCA ATG AG",
"CTT TGC GGA TGT CCA CGT CA"
)
)
primers
| name | sequence |
|---|---|
| Luc_set_II_F | AAG ATT CAA AGT GCG CTG CTG |
| Luc_set_II_R | TTG CCT GAT ACC TGG CAG ATG |
| Renilla_pBiDir_F1 | TAA CGC GGC CTC TTC TTA TTT |
| Renilla_pBiDir_R1 | GAT TTG CCT GAT TTG CCC ATA |
| B-actin_F | AGG TCA TCA CCA TTG GCA ATG AG |
| B-actin_R | CTT TGC GGA TGT CCA CGT CA |
url <- fileMap(type = "png")["Supplementary Figure 3a"][[1]]
knitr::include_graphics(file.path(projectUrl, url))
Top: A schematic representation of the miR34a locus and the region cloned in the P1 construct including the overlapping region between miR34a host gene (purple) and miR34a asRNA (green), the region cloned into the P1 construct (red), and the P53 binding site (light blue). Bottom: A schematic representation of the fully cloned P1 construct including the overlapping region between miR34a host gene and miR34a asRNA (green), the reported genes, luciferase (purple) and renilla (red), the primer binding sites, and the shRNA binding site (used in Figure 2d).
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
projectUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/inst"
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
It is likely, due to the head-to head orientation of miR34a HG and asRNA, that transcription initiation may be activated from a single promoter in a bi-directional manner. To investigate whether miR34a HG and asRNA are transcribed from the same promoter as convergent transcripts, we cloned the miR34a HG promoter, including the p53 binding site, into a luciferase/renilla dual reporter vector which we hereafter refer to as p1. The p1 sequence was previously published in Raver-Shapira, N., et al., Transcriptional activation of miR-34a contributes to p53-mediated apoptosis. Mol Cell, 2007. 26(5): p. 731-43.
Cell culture, transfection and luminescence quantification
All cell lines were cultured at 5% CO2 and 37° C with HEK293T cells cultured in DMEM high glucose (Hyclone) and HCT116 cells in McCoy’s 5a (Life Technologies). All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. Cells were plated at 10,000 cells per well in a 96-well plate with a white bottom and cultured overnight. The following day cells were co-transfected with 10ng of empty, p1, or p2 plasmid and GFP using the standard lipofektamine 2000 (Life Technologies) protocol. The expression of GFP and luminescence was measured 24 h post transfection by using the Dual-Glo Luciferase Assay System (Promega) and detected by the GloMax-Multi+ Detection System (Promega). The expression of luminescence was normalized to GFP.
Analysis
Three independant experiments (biological replicates) were performed in total. The Student’s t-test was used to compare the empty vs p1 group’s log2 activity for both genes.
Constructs
ps <- data.frame(
name = c("p1"),
sequence = c("GCG CCC TGC CTG GCC CCC ACC TGG TCC TCT TTC CTT TTC AGG TGG AGG AGA TGC CGC TGT
CCC GTC GGT CTG GGG ACA GCC CAG CTC CCC GGA TCC CGG GCT GGA GAG ACG CGT CGC GGC
CCC GGG GCC TGG TGG CAC GAG CAG GAA GGA GGA CCC GGC GGC GGG CTC TGC CTG GGC TTG
CCT GGG CTT GTT CCG AGC CGG GCT GCT TCT CGG TGA CCA CGC AGA TCG GGG GCA TTT GGA
GAT TTT GCG GGA GTC CTG CAG CCA AGC TCC GGG GCA GGA GAG GCC TGG AAG CCT GCA CTA
CCT GCT C"
)
)
ps
| name | sequence |
|---|---|
| p1 | GCG CCC TGC CTG GCC CCC ACC TGG TCC TCT TTC CTT TTC AGG TGG AGG AGA TGC CGC TGT |
| CCC GTC GGT CTG GGG ACA GCC CAG CTC CCC GGA TCC CGG GCT GGA GAG ACG CGT CGC GGC | |
| CCC GGG GCC TGG TGG CAC GAG CAG GAA GGA GGA CCC GGC GGC GGG CTC TGC CTG GGC TTG | |
| CCT GGG CTT GTT CCG AGC CGG GCT GCT TCT CGG TGA CCA CGC AGA TCG GGG GCA TTT GGA | |
| GAT TTT GCG GGA GTC CTG CAG CCA AGC TCC GGG GCA GGA GAG GCC TGG AAG CCT GCA CTA | |
| CCT GCT C |
Primers
primers <- data.frame(
name=c(
"Luc_set_II_F",
"Luc_set_II_R",
"Renilla_pBiDir_F1",
"Renilla_pBiDir_R1",
"B-actin_F",
"B-actin_R"
),
sequence=c(
"AAG ATT CAA AGT GCG CTG CTG",
"TTG CCT GAT ACC TGG CAG ATG",
"TAA CGC GGC CTC TTC TTA TTT",
"GAT TTG CCT GAT TTG CCC ATA",
"AGG TCA TCA CCA TTG GCA ATG AG",
"CTT TGC GGA TGT CCA CGT CA"
)
)
primers
| name | sequence |
|---|---|
| Luc_set_II_F | AAG ATT CAA AGT GCG CTG CTG |
| Luc_set_II_R | TTG CCT GAT ACC TGG CAG ATG |
| Renilla_pBiDir_F1 | TAA CGC GGC CTC TTC TTA TTT |
| Renilla_pBiDir_R1 | GAT TTG CCT GAT TTG CCC ATA |
| B-actin_F | AGG TCA TCA CCA TTG GCA ATG AG |
| B-actin_R | CTT TGC GGA TGT CCA CGT CA |
url <- fileMap(type = "png")["Supplementary Figure 3a"][[1]]
knitr::include_graphics(file.path(projectUrl, url))
Top: A schematic representation of the miR34a locus and the region cloned in the P1 construct including the overlapping region between miR34a host gene (purple) and miR34a asRNA (green), the region cloned into the P1 construct (red), and the P53 binding site (light blue). Bottom: A schematic representation of the fully cloned P1 construct including the overlapping region between miR34a host gene and miR34a asRNA (green), the reported genes, luciferase (purple) and renilla (red), the primer binding sites, and the shRNA binding site (used in Figure 2d).
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
Functional characterization of individual antisense transcripts has previously shown their capability to regulate their sense gene. We therefore investigated the possibility that miR34a asRNA may regulate miR34a HG levels. We hypothesized that the overlapping regions of the sense and antisense transcripts may have a crucial role in miR34a asRNAs ability to regulate miR34a HG via RNA:DNA or RNA:RNA interaction. Accordingly, we first co-transfected the p1 construct, containing the overlapping region of the two transcripts, and an short hairpin (sh) RNA targeting renilla into HEK293T cells .
We utilized the P1 construct where the overlapping region of miR34a HG and miR34a AS is cloned with luciferase downstream of miR34a HG and renilla downstream of miR34a AS. The p1 sequence was previously published in Raver-Shapira, N., et al., Transcriptional activation of miR-34a contributes to p53-mediated apoptosis. Mol Cell, 2007. 26(5): p. 731-43. All cell lines were cultured at 5% CO2 and 37° C with HEK293T cells cultured in DMEM high glucose (Hyclone). All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. 2.5x10^5 293T cells were seeded in a 12-well plate. After 24hrs these were co-transfected with 50 ng of the P1 construct and 250 ng shRenilla using lipo2k standard protocol. After 48 hours, RNA was extracted using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. QPCR was carried out using KAPA 2G SYBRGreen (Kapa Biosystems) using the Applied Biosystems 7900HT machine with the cycling conditions: 95 °C for 3 min, 95 °C for 3 s, 60 °C for 30 s.
Constructs
p1 <- data.frame(
name="p1",
sequence="GCG CCC TGC CTG GCC CCC ACC TGG TCC TCT TTC CTT TTC AGG TGG AGG AGA TGC CGC TGT
CCC GTC GGT CTG GGG ACA GCC CAG CTC CCC GGA TCC CGG GCT GGA GAG ACG CGT CGC GGC
CCC GGG GCC TGG TGG CAC GAG CAG GAA GGA GGA CCC GGC GGC GGG CTC TGC CTG GGC TTG
CCT GGG CTT GTT CCG AGC CGG GCT GCT TCT CGG TGA CCA CGC AGA TCG GGG GCA TTT GGA
GAT TTT GCG GGA GTC CTG CAG CCA AGC TCC GGG GCA GGA GAG GCC TGG AAG CCT GCA CTA
CCT GCT C"
)
p1
| name | sequence |
|---|---|
| p1 | GCG CCC TGC CTG GCC CCC ACC TGG TCC TCT TTC CTT TTC AGG TGG AGG AGA TGC CGC TGT |
| CCC GTC GGT CTG GGG ACA GCC CAG CTC CCC GGA TCC CGG GCT GGA GAG ACG CGT CGC GGC | |
| CCC GGG GCC TGG TGG CAC GAG CAG GAA GGA GGA CCC GGC GGC GGG CTC TGC CTG GGC TTG | |
| CCT GGG CTT GTT CCG AGC CGG GCT GCT TCT CGG TGA CCA CGC AGA TCG GGG GCA TTT GGA | |
| GAT TTT GCG GGA GTC CTG CAG CCA AGC TCC GGG GCA GGA GAG GCC TGG AAG CCT GCA CTA | |
| CCT GCT C |
shRNAs
shRNAs <- data.frame(
name=c(
"shRenilla1.1",
"shRenilla2.1"
),
sequence=c(
"AAT ACA CCG CGC TAC TGG C",
"TAA CGG GAT TTC ACG AGG C"
)
)
shRNAs
| name | sequence |
|---|---|
| shRenilla1.1 | AAT ACA CCG CGC TAC TGG C |
| shRenilla2.1 | TAA CGG GAT TTC ACG AGG C |
Primers
primers <- data.frame(
name=c(
"Luc_set_II_F",
"Luc_set_II_R",
"Renilla_pBiDir_F1",
"Renilla_pBiDir_R1",
"B-actin_F",
"B-actin_R"
),
sequence=c(
"AAG ATT CAA AGT GCG CTG CTG",
"TTG CCT GAT ACC TGG CAG ATG",
"TAA CGC GGC CTC TTC TTA TTT",
"GAT TTG CCT GAT TTG CCC ATA",
"AGG TCA TCA CCA TTG GCA ATG AG",
"CTT TGC GGA TGT CCA CGT CA"
)
)
primers
| name | sequence |
|---|---|
| Luc_set_II_F | AAG ATT CAA AGT GCG CTG CTG |
| Luc_set_II_R | TTG CCT GAT ACC TGG CAG ATG |
| Renilla_pBiDir_F1 | TAA CGC GGC CTC TTC TTA TTT |
| Renilla_pBiDir_R1 | GAT TTG CCT GAT TTG CCC ATA |
| B-actin_F | AGG TCA TCA CCA TTG GCA ATG AG |
| B-actin_R | CTT TGC GGA TGT CCA CGT CA |
data <- getData("Supplementary Figure 3c")
#Luciferase = miR34a HG
#Renilla = miR34a AS
#calculate dct
groups <- c("shRNA", "Biological Replicate", "belongsTo", "gene")
gois <- c("Luciferase", "Renilla")
data <- data %>%
technicalMeans(., groups) %>%
dct(., gois, Actin, groups, F)
#calculate ddct
groups[groups == "gene"] <- "GOI"
logical <- tibble(
`shRNA` = pull(data, shRNA) == "shCtrl"
)
data <- data %>%
ddct(., logical, groups) %>%
folds(.)
#calculate stats
stats <- data %>%
group_by(shRNA, belongsTo, GOI) %>%
summarize(
mean = mean(log2fold),
CI95l = t.test(log2fold)$conf.int[1],
CI95h = t.test(log2fold)$conf.int[2]
)
#plot for rmarkdown
p <- ggplot(data = NULL) +
geom_dotplot(
data = data,
aes(
x = shRNA,
y = log2fold,
fill = GOI,
group = interaction(shRNA, GOI)
),
binwidth = 1/10,
colour = NA,
alpha = 0.75,
position = position_dodge(width = 0.9),
binaxis = 'y',
stackdir = 'center',
dotsize = 3,
show.legend = TRUE
) +
facet_grid(. ~ belongsTo, scales = "free") +
scale_y_continuous("\u0394\u0394Ct")+
labs(x = "shRNA")
plotRmarkdown(p) +
geom_linerange(
data = stats,
aes(
x = shRNA,
ymin = CI95l,
ymax = CI95h,
group = GOI
),
colour = "gray20",
position = position_dodge(width = 0.9),
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = shRNA,
y = mean,
group = GOI
),
colour = "gray20",
position = position_dodge(width = 0.9),
shape = 95,
size = 6,
show.legend = FALSE
) +
theme(
strip.text.x = element_blank(),
axis.text.x = element_text(angle = 90)
)
figure <- plotPDF(p) +
geom_linerange(
data = stats,
aes(
x = shRNA,
ymin = CI95l,
ymax = CI95h,
group = GOI
),
colour = "grey30",
position = position_dodge(width = 0.9),
size = 0.3,
show.legend = FALSE
) +
geom_point(
data = stats,
aes(
x = shRNA,
y = mean,
group = GOI
),
colour = "grey30",
position = position_dodge(width = 0.9),
shape = 95,
size = 4,
show.legend = FALSE
) +
theme(
strip.text.x = element_blank(),
axis.text.x = element_text(angle = 90)
)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 2-Supplement 2"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 83,
# units = "mm"
# )
Analysis of luciferase and renilla expression revealed that by decreasing levels of the renilla transcript (corresponding to miR34a asRNA) luciferase (corresponding to miR34a HG) levels were concomitantly decreased. These results indicate that miR34a asRNA is capable of regulating the miR34a HG in a concordant manner and that the overlapping region of the miR34a asRNA may be sufficient to mediate this regulation.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
miR34a asRNA over-expressing cell lines, previously generated, showed a high overexpression level of miR34a asRNA despite a low multiplicity of infection. This is most likley due to the fact that all infected cell lines have practically no endogenous miR34a asRNA expression. To investigate the physiological relevance of the over-expression the miR34a asRNA levels were compared to the expression levels in HEK293t cells, which have a high endogenous miR34a expression level.
miR34a asRNA cloning
RNA was harvested from U2OS cells using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. PCR was run using the miR34aAS_cloning_F4 and miR34aAS_cloning_Ex3_1 primers for 40 cycles at annealing temperature 58˚C and run on an agarose gel. Bands were excised and extracted using the QIAquick gel extraction kit (Qiagen). PCR products were cloned using the Strata Clone kit (Aligent) and sequenced (results below). The insert for the lentiviral construct (p-HIV-I2AG-U6) was subsequently sub-cloned from the sequenced plasmid using primers with PacI and NheI cleavage sites. The cloned transcript largley mirrors the GENCODE annotated transcript.
Cloning primers
primers <- data.frame(
name=c(
"miR34aAS_cloning_F4",
"miR34aAS_cloning_Ex3_1"
),
sequence=c(
"ACGCGTCTCTCCAGCCCGGGAT",
"AATGATGGCCGCAACTAATGACGG"
)
)
primers
| name | sequence |
|---|---|
| miR34aAS_cloning_F4 | ACGCGTCTCTCCAGCCCGGGAT |
| miR34aAS_cloning_Ex3_1 | AATGATGGCCGCAACTAATGACGG |
Sequencing results
construct <- data.frame(
name="miR34a_asRNA",
sequence="ACG CGT CTC TCC AGC CCG GGA TCC GGG GAG CTG GGC TGT CCC CAG ACC GAC GGG ACA GCG GCA
TCT CCT CCA CCT GAA AAG GAA AGA GGA CCA GTT TGC AGG ACT CCG AAC TGG GCC CGC GAG ATC
TCC ACC TGC GCA AAA CGA AAG GGC GGA TTC TCC TTG GAC TCA CGA GGC AAC CGC TCC CCG GGG
TGA GAA CGG GGG ACT CAT TCC TCC GGC ACT GGG AGA AGA CGA TTC TTC AGG AGG AGG ACA GGG
AAG CGA ATG CTA CCC AGA TGT CTC AGT ATA CTG GCT CGC GGC ACA TCG GGC AAA TGA ACC TAT
CAG ATA ACA ACG GCA GAT CAG ATG CCT GAG CAT TCA GAA GCA ACA GCT GTG GAG CCC CCG TGG
GTT CAG AAG GCC TGG TTC CCG TCT CCA GAA GCC TGG CTC TCC TCC CTC CTG GGC CCA CTA CTT
TGG CTT CTT GTT CCT ACG TAC AAG GAG TTG CGA AGA AGG CAA CTC TTC CCC TCC CTG AAG CCA
AAG GAA TGA AAC AGA CTA GGG CGG GAG AGG TGG CCA TCC GTC ATT AGT TGC GGC CAT CA"
)
construct
| name | sequence |
|---|---|
| miR34a_asRNA | ACG CGT CTC TCC AGC CCG GGA TCC GGG GAG CTG GGC TGT CCC CAG ACC GAC GGG ACA GCG GCA |
| TCT CCT CCA CCT GAA AAG GAA AGA GGA CCA GTT TGC AGG ACT CCG AAC TGG GCC CGC GAG ATC | |
| TCC ACC TGC GCA AAA CGA AAG GGC GGA TTC TCC TTG GAC TCA CGA GGC AAC CGC TCC CCG GGG | |
| TGA GAA CGG GGG ACT CAT TCC TCC GGC ACT GGG AGA AGA CGA TTC TTC AGG AGG AGG ACA GGG | |
| AAG CGA ATG CTA CCC AGA TGT CTC AGT ATA CTG GCT CGC GGC ACA TCG GGC AAA TGA ACC TAT | |
| CAG ATA ACA ACG GCA GAT CAG ATG CCT GAG CAT TCA GAA GCA ACA GCT GTG GAG CCC CCG TGG | |
| GTT CAG AAG GCC TGG TTC CCG TCT CCA GAA GCC TGG CTC TCC TCC CTC CTG GGC CCA CTA CTT | |
| TGG CTT CTT GTT CCT ACG TAC AAG GAG TTG CGA AGA AGG CAA CTC TTC CCC TCC CTG AAG CCA | |
| AAG GAA TGA AAC AGA CTA GGG CGG GAG AGG TGG CCA TCC GTC ATT AGT TGC GGC CAT CA |
Lentivirus production and infection
HEK293T cells were transfected with viral and expression constructs using Lipofectamine 2000 (Life Technologies), after which viral supernatants were harvested 48 and 72 hours post-transfection. Viral particles were concentrated using PEG-IT solution (Systems Biosciences) according to the manufacturer’s recommendations. HEK293T cells were used for virus titration and GFP expression was evaluated 72hrs post-infection via flow cytometry after which TU/ml was calculated. Cell lines were subsequently infected with the lentiviral particals using a multuplicity of infection = 1. After 48 hours, cells were placed under mycophenolic acid selection and the selection process was monitored using GFP expression via flow cytometry. When GFP expression was present in >90% of the cells, cells were frozen for downstream analysis.
QPCR
RNA was extracted using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. QPCR was carried out using KAPA 2G SYBRGreen (Kapa Biosystems) using the Applied Biosystems 7900HT machine with the cycling conditions: 95 °C for 3 min, 95 °C for 3 s, 60 °C for 30 s. QPCR for miRNA expression analysis was performed according to the protocol for the TaqMan microRNA Assay kit (Life Technologies) with primer/probe sets purchased from the same company (TaqMan® MicroRNA Assay, hsa-miR-34a, human and Control miRNA Assay, RNU48, human) and the same cycling scheme as above.
Analysis
Two experimental (technical) replicates were included in each QPCR run and delta ct was calculated for each sample using the mean of the gene of interest’s technical replicates and the house keeping gene’s technical replicates. Delta-delta ct was calculated for each sample by subtracting the median dct value for the corresponding untreated samples. Five independant experiments were performed in total for all cell lines.
Primers
primers <- data.frame(
name=c(
"ß-actin Fwd",
"ß-actin Rev",
"miR34a_asF1",
"miR34a_asR1"
),
sequence=c(
"AGGTCATCACCATTGGCAATGAG",
"CTTTCGGGATGTCCACGTCA",
"AGCGGCATCTCCTCCACCTGAAA",
"TTGCCTCGTGAGTCCAAGGAGAAT"
)
)
primers
| name | sequence |
|---|---|
| ß-actin Fwd | AGGTCATCACCATTGGCAATGAG |
| ß-actin Rev | CTTTCGGGATGTCCACGTCA |
| miR34a_asF1 | AGCGGCATCTCCTCCACCTGAAA |
| miR34a_asR1 | TTGCCTCGTGAGTCCAAGGAGAAT |
data <- getData("Supplementary Figure 4a")
#remove PC3 experiment 6, B-act mean Ct > 30, too high.
data <- filter(data, `Biological Replicate` != 6 | `Cell line` != "PC3")
#calculate dct
groups <- c("Condition", "Biological Replicate", "Cell line", "gene")
gois <- c("lncTAM34a")
data <- technicalMeans(data, groups) %>%
dct(., gois, Actin, groups)
#calculate ddct
groups[groups == "gene"] <- "GOI"
logical <- tibble(
`Cell line` = data$`Cell line` == "HEK293t",
Condition = data$Condition == "wt"
)
data <- data %>%
ddct(., logical, groups) %>%
folds(.)
#calculate stats
stats <- data %>%
group_by(`Cell line`, Condition) %>%
summarize(
n = n(),
mean = mean(log2fold),
CI95l = t.test(log2fold)$conf.int[1],
CI95h = t.test(log2fold)$conf.int[2]
) %>%
ungroup()
p <- ggplot(data = NULL)+
geom_dotplot(
data = data,
aes(
x = Condition,
y = log2fold,
fill = Condition
),
colour = NA,
binwidth = 1/10,
alpha = 0.75,
position = position_dodge(width = 0.9),
binaxis='y',
stackdir='center',
dotsize = 6,
show.legend = TRUE
) +
facet_grid(. ~ `Cell line`, scales = "free") +
labs(
x = "Cell line",
y = "log2(Fold)",
title = "miR34a asRNA"
) +
guides(fill = FALSE)
markdown <- p +
geom_point(
data = stats,
aes(
x = Condition,
y = mean
),
colour = "grey20",
show.legend = FALSE,
shape = 95,
size = 6
) +
geom_linerange(
data = stats,
aes(
x = Condition,
ymin = CI95l,
ymax = CI95h
),
colour = "gray20",
show.legend = FALSE
)
plotRmarkdown(markdown)
pdf <- p +
geom_point(
data = stats,
aes(
x = Condition,
y = mean
),
colour = "gray30",
show.legend = FALSE,
size = 4,
shape = 95
) +
geom_linerange(
data = stats,
aes(
x = Condition,
ymin = CI95l,
ymax = CI95h
),
colour = "gray30",
size = 0.3,
show.legend = FALSE
)
figure <- plotPDF(pdf)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 3-Supplement 1"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 160,
# units = "mm"
# )
miR34a asRNA over-expression levels in PC3, Skov3, and Saos2 stable cell lines compared to HEK293t cells. The points represent the values obtained from each independant experiment (n = 5) whereas, the gray shadow represents the distribution of those points. 95% confidence interval (vertical black lines) and mean (horizontal black lines) are shown.
Results indicate that miR34a asRNA is over-expressed 13-22 fold greater that endogenous HEK293t levels.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
To further investigate the characteristics of the miR34a asRNA stable lines, we measured the expression level of known miR34a target cyclin D1. miR34a has been previously shown to inhibit cell cycle progression, partially via its regulation of cyclin D1.
Cell culture and QPCR
All cell lines were cultured at 5% CO2 and 37° C with PC3 cells in RPMI (Hyclone) and 2 mM L-glutamine. All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. Cells were seeded at 2x10^5 cells per well in a 12-well plate. After 24 hours, RNA was extracted using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. QPCR was carried out using KAPA 2G SYBRGreen (Kapa Biosystems) using the Applied Biosystems 7900HT machine with the cycling conditions: 95 °C for 3 min, 95 °C for 3 s, 60 °C for 30 s.
Analysis
Two technical replicates were included for each sample and each QPCR run. Delta ct was calculated by subtracting the mean of the technical replicates for each sample from the mean value for the technical replicates from the house keeping gene for the corresponding sample. Delta-delta ct was calculated for each sample by subtracting the median dct value for the corresponding mock samples. Six independant experiments (biological replicates) were performed in total. The Student’s t-test was used to compare the mock and miR34a asRNA overexpressing group’s delta-delta ct values with the null hypothesis that there was no difference in the two group’s means.
Primers
primers <- data.frame(
name=c(
"CCND1 Fwd",
"CCND1 Rev",
"B-actin_F",
"B-actin_R"
),
sequence=c(
"CGT GGC CTC TAA GAT GAA GG",
"CTG GCA TTT TGG AGA GGA AG",
"AGG TCA TCA CCA TTG GCA ATG AG",
"CTT TGC GGA TGT CCA CGT CA"
)
)
primers
| name | sequence |
|---|---|
| CCND1 Fwd | CGT GGC CTC TAA GAT GAA GG |
| CCND1 Rev | CTG GCA TTT TGG AGA GGA AG |
| B-actin_F | AGG TCA TCA CCA TTG GCA ATG AG |
| B-actin_R | CTT TGC GGA TGT CCA CGT CA |
data <- getData("Supplementary Figure 4b")
#calculate dct
groups <- c("condition", "Biological Replicate", "Cell line", "gene")
gois <- c("CCND1")
data <- data %>%
technicalMeans(., groups) %>%
dct(., gois, Actin, groups, F)
#calculate ddct
groups[groups == "gene"] <- "GOI"
logical <- tibble(
condition = pull(data, condition) == "mock"
)
data <- data %>%
ddct(., logical, groups) %>%
folds(.)
#calculate stats
stats <- calcStats(data, condition, "mock", groups) %>%
pFormat(.)
p <- ggplot(data = NULL) +
geom_dotplot(
data = data,
aes(
x = condition,
y = log2fold,
fill = condition
),
binwidth = 1/200,
colour = NA,
#alpha = 0.5,
position = position_dodge(width = 0.9),
binaxis = 'y',
stackdir = 'center',
dotsize = 4,
show.legend = TRUE
) +
scale_y_continuous("\u0394\u0394Ct") +
labs(
x = "Cell line",
title = "CCND1"
) +
guides(fill = FALSE)
markdown <- p +
geom_linerange(
data = stats,
aes(
x = condition,
ymin = CI95l,
ymax = CI95h
),
colour = "gray20"
) +
geom_point(
data = stats,
aes(
x = condition,
y = mean
),
colour = "gray20",
size = 6,
shape = 95
) +
geom_segment(
aes(
x = 1,
y = 0.175,
xend = 2,
yend = 0.175
),
colour = "grey43"
) +
geom_label(
data = stats,
aes(
x = 1.5,
y = 0.19,
label = pFormat
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
size = 5,
family = "Arial Unicode MS"
)
plotRmarkdown(markdown)
pdf <- p +
geom_linerange(
data = stats,
aes(
x = condition,
ymin = CI95l,
ymax = CI95h
),
colour = "grey30",
size = 0.3
) +
geom_point(
data = stats,
aes(
x = condition,
y = mean
),
colour = "grey30",
shape = 95,
size = 4
) +
geom_segment(
aes(
x = 1,
y = 0.175,
xend = 2,
yend = 0.175
),
colour = "grey30",
size = 0.3
) +
geom_label(
data = stats,
aes(
x = 1.5,
y = 0.2,
label = pFormat
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
colour = "grey30",
size = 2.5,
family = "Arial Unicode MS"
)
figure <- plotPDF(pdf)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 3-Supplement 2a"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 43,
# units = "mm"
# )
Q-PCR showing cyclin D1 levels in PC3 miR34a asRNA over-expressing stable lines. The points represent the values obtained from each independant experiment (n = 6) whereas, the gray shadow represents the distribution of those points. 95% confidence interval (vertical black lines), mean (horizontal black lines), and p-values are shown with the horizontal line under the p-value indicating the comparison that was tested.
CCND1 expression levels are decreased in PC3 cell lines stably over-expressing miR34a asRNA.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
projectUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/inst"
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
After observing decreased mRNA levels for the miR34a target CCND1, we were interested whether this has also consequences for its protein levels.
Cell culture and western blot All cell lines were cultured at 5% CO2 and 37° C with PC3 cells in RPMI (Hyclone) and 2 mM L-glutamine. All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. We seeded three independent experiments of 150,000 cells/well in a six well plate (PC3 mock vs. PC3 miR34a AS F4) and grew them for 24 hours. Before harvesting cells were controlled for their confluency. Cells with a confluence of 60-75%, were harvested using trypsin. Cell pellets were frozen down at -80°C before lysed for Western Blot analysis. Cells were lysed in RIPA Buffer and run on a 4-12% Bis-Tris-SDS Gel using MOPS running buffer. Proteins were transferred onto a nitrocellulose membrane using iBlot Turbo Blotting Device. Proteins were transferred for 7 minutes. Membranes were blocked for 1 hour at room temperature in 5% milk. Membranes were incubated with a cyclin D1 antibody (92G2 Rabbit mAb, Cell Signalling, 1:1000) overnight at 4°C. The membrane was incubated using a goat anti-rabbit antibody conjugated to HRP for 1 hour at room temperature. Membranes were washed 3-times for 5min each in TBS-T. Membranes were developed using chemiluminescence. After the picture was taken, the membrane was stripped using 0.4M NaOH solution for 20min. Blocking step was repeated and primary antibody against GAPDH (Abcam #ab9485, 1:5000) was incubated for overnight at 4°C. Consequently, the membrane was incubated using a goat anti-rabbit antibody conjugated to HRP for 1 hour at room temperature. Membranes were washed 3-times for 5min in TBS-T. Membranes were developed using chemiluminescence.
Analysis
Resulting bands on the western blots were quantified using the ImageJ software with three parameters being measured, intensity, background, and pixel. The quantative value was derived for each band by first subtracting the background from the intensity and subsequently multiplying this value by the pixel value. The fraction of CCND1 over the house keeping gene was then calculated using each sample’s values and the corresponding house keeping genes values. Fold change was then calculated by dividing the normalized CCND1 values in the miR34a asRNA overexpressing samples by the median of the corresponding mock samples. Fold change values were subsequently log2 transformed and the Student’s t-test was utilized to compare mock vs. miR34a asRNA overexpressing samples using three independant experiments with the null hypothesis that the mean values were the same in each group.
Western blot
url <- "stable_line_ccnd1_prot/stable_line_ccnd1_prot.png"
knitr::include_graphics(file.path(projectUrl, url))
The resulting western blot showing results from the three independant experiments.
Quantification
data <- getData("Supplementary Figure 4c")
#normalize to house keeping gene
data <- data %>%
mutate(value = (Intensity - background) * pixel) %>%
select(-pixel, -Intensity, -background) %>%
spread(protein, value) %>%
mutate(normHK = CCND1 / GAPDH)
#normalize to mock
cnt <- filter(data, condition == "mock") %>%
pull(normHK) %>%
median
data <- mutate(data, log2fold = log2(normHK / cnt))
#calculate stats
stats <- data %>%
group_by(condition) %>%
summarize(
n = n(),
mean = mean(log2fold),
CI95l = t.test(log2fold)$conf.int[1],
CI95h = t.test(log2fold)$conf.int[2],
pValue = t.test(log2fold, pull(filter(data, condition == "mock"), log2fold))$p.value
) %>%
pFormat(.)
p <- ggplot(data = NULL) +
geom_dotplot(
data = data,
aes(
x = condition,
y = log2fold,
fill = condition
),
binwidth = 1/30,
colour = NA,
#alpha = 0.5,
position = position_dodge(width = 0.9),
binaxis = 'y',
stackdir = 'center',
dotsize = 4,
show.legend = TRUE
) +
scale_y_continuous("log2(Fold)") +
labs(
x = "Cell line",
title = "CCND1 protein"
) +
guides(fill = FALSE)
markdown <- p +
geom_point(
data = stats,
aes(
x = condition,
y = mean
),
colour="gray20",
size = 6,
shape = 95
) +
geom_segment(
data = stats,
aes(
x = 1,
y = max(CI95h) + 0.25,
xend = 2,
yend = max(CI95h) + 0.25
),
colour="grey43"
) +
geom_label(
data = stats,
aes(
x = 1.5,
y = max(CI95h) + 0.4,
label = pFormat
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
size = 5,
family = "Arial Unicode MS"
) +
geom_linerange(
data = stats,
aes(
x = condition,
ymin = CI95l,
ymax = CI95h
),
colour="gray20"
)
plotRmarkdown(markdown)
pdf <- p +
geom_point(
data = stats,
aes(
x = condition,
y = mean
),
colour="gray30",
shape = 95,
size = 4
) +
geom_segment(
data = stats,
aes(
x = 1,
y = max(CI95h) + 0.25,
xend = 2,
yend = max(CI95h) + 0.25
),
colour="gray30",
size = 0.3
) +
geom_label(
data = stats,
aes(
x = 1.5,
y = max(CI95h) + 0.4,
label = pFormat
),
label.size = 0,
label.padding = unit(0.01, "lines"),
show.legend = FALSE,
fill = "white",
colour = "gray30",
size = 2.5,
family = "Arial Unicode MS"
) +
geom_linerange(
data = stats,
aes(
x = condition,
ymin = CI95l,
ymax = CI95h
),
colour="gray30",
size = 0.3
)
figure <- plotPDF(pdf)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 3-Supplement 2b"][[1]])
# ggsave(
# plot = figure,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 43,
# units = "mm"
# )
Western blot quantification showing cyclin D1 protein levels in PC3 miR34a asRNA over-expressing stable lines compared to mock. The points represent the values obtained from each independant experiment (n = 3) whereas, the gray shadow represents the distribution of those points. 95% confidence interval (vertical black lines), mean (horizontal black lines), and p-values are shown with the horizontal line under the p-value indicating the comparison that was tested.
Cyclin D1 protein levels are significantly reduced in PC3 cells overexpressing miR34a asRNA, consistent with increased miR34a expression levels and the reduced G1 cell cycle phase observed in PC3 cells.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 lubridate_1.7.1 lattice_0.20-35
## [4] prettyunits_1.0.2 assertthat_0.2.0 rprojroot_1.3-2
## [7] digest_0.6.15 psych_1.7.8 R6_2.2.2
## [10] cellranger_1.1.0 plyr_1.8.4 backports_1.1.2
## [13] evaluate_0.10.1 highr_0.6 httr_1.3.1
## [16] pillar_1.1.0.9000 rlang_0.2.0.9000 progress_1.1.2.9002
## [19] lazyeval_0.2.1 curl_3.1 readxl_1.0.0
## [22] rstudioapi_0.7 gggenes_0.2.0.9003 Matrix_1.2-12
## [25] rmarkdown_1.9 liftr_0.8 labeling_0.3
## [28] splines_3.4.3 selectr_0.3-1 foreign_0.8-69
## [31] ansistrings_1.0.0.9000 munsell_0.4.3 rgeolocate_1.0.1
## [34] compiler_3.4.3 modelr_0.1.1 pkgconfig_2.0.1
## [37] mnormt_1.5-5 htmltools_0.3.6 tidyselect_0.2.3
## [40] ggfittext_0.5.0 XML_3.98-1.9 crayon_1.3.4
## [43] withr_2.1.1.9000 nlme_3.1-131 jsonlite_1.5
## [46] magrittr_1.5 scales_0.5.0.9000 cli_1.0.0.9001
## [49] stringi_1.1.6 reshape2_1.4.3 xml2_1.2.0
## [52] RColorBrewer_1.1-2 rematch2_2.0.1 tools_3.4.3
## [55] glue_1.2.0 hms_0.4.1 parallel_3.4.3
## [58] yaml_2.1.16 colorspace_1.3-2 rvest_0.3.2
## [61] bindr_0.1 haven_1.1.1
Kaplan-Meier survival curves comparing the effects of TP53-mutated samples, low lncTAM34a expression and low miR34a expression to control samples in 17 cancers from TCGA. Panels showing survival curves based on gene expression include only TP53 wild type patients where RNAseq data exists.
RNAseq data was downloaded from TCGA and processed as described previously. Briefly, RNAseq data were aligned to the human hg19 assembly and quantified using GENCODE (v19) annotated HTSeq-counts and FPKM normalizations. Expression data from miR34a and lncTAM34a (identified as RP3-510D11.2) were used for further analysis.
Survival analysis was performed on TCGA vital state and follow-up data, downloaded from GDC on 27/10/2017 using the R survival package.
data <- getData("Figure 4a")
#TP53 status independant
#Set up all combinations of variables to calcualte survival probability for
independant <- expand.grid(
gene = c("lncTAM34a", "miR34a", "TP53"),
cancer = sort(unique(data$Cancer))
) %>%
as_tibble() %>%
mutate_if(is.factor, as.character) %>%
group_by(gene, cancer) %>%
#add data of the corresponding cancer and, for gene expression, filter WT TP53
mutate(data = map2(cancer, gene, function(c, g, cm = data) {
if(g == "TP53") {
filter(cm, Cancer == c)
} else {
filter(cm, Cancer == c & TP53 == FALSE)
}
})) %>%
#select the gene to be examined
mutate(data = pmap(list(gene, data), function(g, d) {
select(d, g, vitalStatus, FU)
})) %>%
#remove samples where gene expression/mutation status is na
mutate(data = map(data, function(x) filter(x, is.na(x[[1]]) == FALSE))) %>%
#remove cancers where comparisons without data exist
mutate(bool = map_lgl(data, function(x) nrow(x) == 0)) %>%
group_by(cancer) %>%
filter(!any(bool)) %>%
#calculate the percentile for the gene's expression for each sample
mutate(data = map2(gene, data, function(g, d) {
if(any(grepl("TP53", colnames(d)))) {
mutate(d, percentile = NA)
} else {
mutate(d, percentile = ntile(x = d[[1]], n = 10))
}
})) %>%
#classify 10th percentile and under as "low" and the rest as "others"
#classify TP53 mutated as low and WT as others
mutate(data = map(data, function(d) {
if(any(grepl("TP53", colnames(d)))) {
mutate(d, class = if_else(TP53, "low", "others"))
} else {
mutate(d, class = if_else(percentile == 1, "low", "others"))
}
})) %>%
#calculate survival probability
mutate(surv.obj = map(data, ~get_survival(.x))) %>%
mutate(surv.fit = map2(data, surv.obj, function(x, y) survival_fit(y, x$class))) %>%
mutate(p.value = map2_dbl(data, surv.obj, function(x, y) survival_p(y, x$class))) %>%
ungroup()
trash <- pmap(
list(independant$data, independant$surv.fit, independant$gene, independant$cancer, independant$p.value),
function(v, w, x, y, z) {
plotKM(v, w, x, y, z)
}
)
packages <- c(
"tidyverse",
"grid",
"gtable",
"miR34AasRNAproject",
"ggthemes",
"printr",
"stringr"
)
purrr::walk(packages, library, character.only = TRUE)
rm(packages)
Wang et al. have previously published concerning a antisense transcript arising from the miR34a locus that they named “lnc34a”. Wang et al. state find that this transcript is expressed at “significantly higher levels in colon cancer stem cells spheres (CCSCs)” compared to 9 commonly used colorectal cancer cell lines. After obtaining the sequence for lnc34a we could confirm that neither our primer walk analysis or our 3’ RACE detected the lnc34a transcripts presence in the cell lines we had utilized. To further investigate the presence of lnc34a in non-CCSC cell lines we interogated CAGE data from RIKEN to investigate the possibility of an alternative transcription start site upstream of the transcription start site we had characterized.
nrCellLinesDown <- function() {
getData("Supplementary Figure 6") %>%
pull(cell) %>%
unique() %>%
length()
}
cellLinesInFinal <- function() {
getData("Supplementary Figure 6") %>%
pull(cell) %>%
unique()
}
RNAprepTable <- function() {
getData("Supplementary Figure 6") %>%
mutate(`rna extract` = str_replace(`rna extract`, "total", "total RNA")) %>%
select(`rna extract`) %>%
dplyr::count(`rna extract`)
}
localizationTable <- function() {
getData("Supplementary Figure 6") %>%
select(localization) %>%
dplyr::count(localization)
}
#add function to show polyA and total RNA table
All available CAGE data from 28 cell lines was downloaded from UCSC with the script entitled “lnc34a CAGE” in the data-raw/saveRDS.R file. Of these 28 cell lines had CAGE transcription start sites mapping to the plus strand of chromosome 1 and in regions corresponding to 200 bp upstream of the lnc34a start site (9241796 - 200) and 200 bp upstream of the GENCODE annotated miR34a asRNA start site (9242263 + 200). These cell lines included: AG04450, BJ, GM12878, H1-hESC, HAoAF, HAoEC, HCH, HepG2, HFDPC, HMEpC, hMSC-AT, hMSC-BM, hMSC-UC, HOB, HPC-PL, HPIEpC, HSaVEC, HUVEC, HVMF, HWP, IMR90, MCF-7, NHDF, NHEK, NHEM.f_M2, NHEM_M2, SkMC, SK-N-SH_RA. All CAGE reads were plotted and the RPKM of the individual reads was used to color each read to indicate their relative abundance. In addition, a density plot shows the distribution of the CAGE reads in the specified interval. Further information concerning RNA extraction and localization of the samples included is shown below:
Number of samples from included RNA extraction methods:
RNAprepTable()
| rna extract | n |
|---|---|
| longNonPolyA | 17 |
| longPolyA | 47 |
| total RNA | 10 |
Number of samples from included RNA localizations:
localizationTable()
| localization | n |
|---|---|
| cell | 34 |
| cytosol | 15 |
| nucleolus | 10 |
| nucleus | 15 |
#genes and primers
gdata <- tibble(
gene = c(rep("miR34a asRNA", 5), rep("lnc34a", 3)),
fill = gene,
feature = c(
"exon", "intron", "exon", "intron",
"exon", "exon", "intron", "exon"
),
start = c(
9242262, 9242375, 9243691, 9243866,
9251451, 9241796, 9242354, 9256971),
stop = c(
9242375, 9243691, 9243866, 9251451,
9252148, 9242354, 9256971, 9257102
)
)
#try to cut the data so that the CAGE reads are more visable in the figure.
gdata <- filter(gdata, start < 9243000) %>%
mutate(stop = if_else(feature == "intron", 9243000, stop))
#add primer walk primers
pw <- tibble(
fill = paste("F", 10:15, sep = ""),
gene = "Primers",
feature = rep("primer", 6),
start = c(9242282, 9242170, 9242037, 9241944, 9241838, 9241734),
stop = c(9242303, 9242192, 9242058, 9241967, 9241861, 9241757)
)
gdata <- bind_rows(gdata, pw) %>%
mutate(gene = readr::parse_factor(gene, levels = c("miR34a asRNA", "lnc34a", "Primers")))
#cage data
cage <- getData("Supplementary Figure 6") %>%
select(start, stop, level) %>%
group_by(start, stop) %>%
summarize(level = sum(level)) %>%
ungroup() %>%
arrange(desc(level)) %>%
mutate(y = 1:n())
###plot rmarkdown
#genes
p1 <- ggplot(data = NULL) +
gggenes::geom_gene_arrow(
data = filter(gdata, feature %in% c("exon", "primer")),
aes(xmin = start, xmax = stop, y = gene, fill = fill, group = gene),
arrowhead_width = unit(0, "mm"),
arrowhead_height = unit(0, "mm"),
colour = "gray"
) +
geom_segment(
data = filter(gdata, feature == "intron"),
aes(x = start, xend = stop, y = gene, yend = gene, group = gene),
linetype = "dotted",
colour = "gray",
size = 1
) +
geom_text(
data = filter(gdata, feature == "primer"),
aes(x = start + 10, y = 2.5, label = fill),
size = 3,
angle = 90,
colour = "grey20"
) +
ggthemes::theme_few() +
ggthemes::scale_fill_ptol() +
xlim(9241596, 9243000) +
labs(x = "Chromosome 1", y = "Genes") +
guides(fill = FALSE)
#cage
p2 <- ggplot(data = NULL) +
gggenes::geom_gene_arrow(
data = cage,
aes(xmin = start, xmax = stop, y = y, fill = level),
arrowhead_width = unit(0, "mm"),
arrowhead_height = unit(0, "mm"),
arrow_body_height = unit(1, "mm"),
colour = "gray",
show.legend = TRUE
) +
ggthemes::theme_few() +
viridis::scale_fill_viridis() +
theme(
axis.title.x = element_blank(),
legend.position = "top",
axis.text = element_blank(),
axis.ticks = element_blank()
) +
labs(y = "Cage reads") +
xlim(9241596, 9243000) +
guides(fill = guide_colourbar(
title = "RPKM",
title.position = "top",
title.hjust = 0.5)
)
#density
p3 <- ggplot(data = NULL) +
geom_line(data = cage, aes(x = start), stat = "density") +
ggthemes::theme_few() +
xlim(9241596, 9243000) +
theme(
axis.text = element_blank(),
axis.title.x = element_blank(),
axis.ticks = element_blank()
) +
labs(y = "Density")
grobz <- lapply(list(p1, p2, p3), ggplotGrob)
g <- rbind(grobz[[2]], grobz[[3]], grobz[[1]], size = "last")
grid.newpage()
grid.draw(resize_heights(g, unit(c(3,1,1), "null")))
#plot pdf
#genes
p1 <- ggplot(data = NULL) +
gggenes::geom_gene_arrow(
data = filter(gdata, feature %in% c("exon", "primer")),
aes(xmin = start, xmax = stop, y = gene, fill = fill),
arrowhead_width = unit(0, "mm"),
arrowhead_height = unit(0, "mm"),
arrow_body_height = unit(1, "mm"),
colour = "gray",
lwd = 0.1
) +
geom_segment(
data = filter(gdata, feature == "intron"),
aes(x = start, xend = stop, y = gene, yend = gene),
linetype = "dotted",
colour = "gray",
size = 0.55
) +
geom_text(
data = filter(gdata, feature == "primer"),
aes(x = start + 10, y = 2.55, label = fill),
size = 1.75,
angle = 90,
colour = "grey20"
) +
ggthemes::theme_few() +
ggthemes::scale_fill_ptol() +
xlim(9241596, 9243000) +
labs(x = "Chromosome 1", y = "Genes") +
guides(fill = FALSE) +
theme(
axis.text = element_text(size = 6),
axis.title.x = element_text(size = 6),
axis.title.y = element_text(size = 6, margin = margin(r = 8, "cm")),
axis.ticks.length = unit(0.5, "mm"),
axis.ticks = element_line(size = 0.15),
panel.border = element_rect(fill = NA, size = 0.1),
plot.margin = unit(c(0.01, 1, 0.01, 1), "mm")
)
#cage
p2 <- ggplot(data = NULL) +
gggenes::geom_gene_arrow(
data = cage,
aes(xmin = start, xmax = stop, y = y, fill = level),
arrowhead_width = unit(0, "mm"),
arrowhead_height = unit(0, "mm"),
arrow_body_height = unit(1, "mm"),
colour = NA,
lwd = 0.1,
show.legend = TRUE
) +
ggthemes::theme_few() +
viridis::scale_fill_viridis() +
theme(
axis.title.x = element_blank(),
axis.title.y = element_text(size = 6),
legend.position = "top",
legend.title = element_text(size = 5),
legend.text = element_text(size = 4),
legend.box.spacing = unit(3, "pt"),
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.border = element_rect(fill = NA, size = 0.1),
plot.margin = unit(c(0.01, 1, 0.01, 1), "mm"),
strip.text.y = element_text(angle = 0)
) +
labs(y = "Cage reads") +
xlim(9241596, 9243000) +
guides(fill = guide_colourbar(
title = "RPKM",
title.position = "top",
title.hjust = 0.5,
barheight = unit(2, "mm")
))
#density
p3 <- ggplot(data = NULL) +
geom_line(
data = cage,
aes(x = start),
stat = "density",
lwd = 0.1
) +
ggthemes::theme_few() +
xlim(9241596, 9243000) +
theme(
axis.text = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_text(size = 6),
axis.ticks = element_blank(),
panel.border = element_rect(fill = NA, size = 0.1)
#plot.margin = unit(c(0, 1, 2, 1), "mm")
) +
labs(y = "Density")
grobz <- lapply(list(p1, p2, p3), ggplotGrob)
g <- rbind(grobz[[2]], grobz[[3]], grobz[[1]], size = "last")
g <- resize_heights(g, unit(c(5, 1, 2), "null"))
#grid.draw(g)
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Supplementary Document 1a"][[1]])
# ggsave(
# plot = g,
# filename = path,
# device = cairo_pdf,
# height = 100,
# width = 90,
# units = "mm"
# )
CAGE tags (top), CAGE tag density (middle), and antisense genes at the miR34a locus and primers from the primer walk assay (bottom). CAGE tags are colored according to their corresponding RPKM values.
The results show a high density of CAGE tags aligning to the region corresponding to the annotated miR34a asRNA start site. Several additional peaks, albeit with a much lower average expression, aligns slightly upstream of the annotated miR34a asRNA start site, one of which, corresponds to the upstream start site detected in our primer walk analysis (Figure 1e). Despite this, we find no CAGE tags aligning at the transcription start site or upstream of the transcription start site of the lnc34a transcript. This potentially indicates that lnc34a is tightly regulated and specifically expressed in the CCSC context, as claimed by the authors. An alternative intrepretation could be that lnc34a expression is present in a subset of the examined cell lines although at too low levels to be detected. Finally, lnc34a may not be 5’-capped precluding its detection by CAGE.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] viridis_0.5.0 httr_1.3.1 viridisLite_0.3.0
## [4] jsonlite_1.5 splines_3.4.3 modelr_0.1.1
## [7] assertthat_0.2.0 highr_0.6 selectr_0.3-1
## [10] cellranger_1.1.0 yaml_2.1.16 progress_1.1.2.9002
## [13] gggenes_0.2.0.9003 pillar_1.1.0.9000 backports_1.1.2
## [16] lattice_0.20-35 glue_1.2.0 digest_0.6.15
## [19] RColorBrewer_1.1-2 rvest_0.3.2 colorspace_1.3-2
## [22] htmltools_0.3.6 Matrix_1.2-12 plyr_1.8.4
## [25] psych_1.7.8 XML_3.98-1.9 pkgconfig_2.0.1
## [28] haven_1.1.1 scales_0.5.0.9000 withr_2.1.1.9000
## [31] ansistrings_1.0.0.9000 lazyeval_0.2.1 cli_1.0.0.9001
## [34] mnormt_1.5-5 magrittr_1.5 crayon_1.3.4
## [37] readxl_1.0.0 evaluate_0.10.1 nlme_3.1-131
## [40] xml2_1.2.0 foreign_0.8-69 tools_3.4.3
## [43] prettyunits_1.0.2 hms_0.4.1 liftr_0.8
## [46] rgeolocate_1.0.1 munsell_0.4.3 compiler_3.4.3
## [49] rlang_0.2.0.9000 rstudioapi_0.7 labeling_0.3
## [52] rmarkdown_1.9 curl_3.1 rematch2_2.0.1
## [55] reshape2_1.4.3 R6_2.2.2 gridExtra_2.3
## [58] lubridate_1.7.1 bindr_0.1 rprojroot_1.3-2
## [61] stringi_1.1.6 parallel_3.4.3 Rcpp_0.12.15
## [64] ggfittext_0.5.0 tidyselect_0.2.3
Wang et al. have previously published concerning a antisense transcript arising from the miR34a locus that they named “lnc34a”. Wang et al. state find that this transcript is expressed at “significantly higher levels in colon cancer stem cells spheres (CCSCs)” compared to 9 commonly used colorectal cancer cell lines. After obtaining the sequence for lnc34a we could confirm that neither our primer walk analysis or our 3’ RACE detected the lnc34a transcripts presence in the cell lines we had utilized. To further investigate the presence of lnc34a in non-CCSC cell lines we interogated RNAseq splice junction data generated in conjunction with the ENCODE project to search for introns present at the miR34a locus.
nrCellLinesDown <- function() {
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
url <- fileMap(type = "txt")["Supplementary Figure 7"][[1]]
read_tsv(gzcon(url(file.path(dataUrl, url)))) %>%
pull(16) %>%
gsub(
"^http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeCshlLongRnaSeq/wgEncodeCshlLongRnaSeq(.*)Cell.*",
"\\1",
.
) %>%
unique() %>%
length()
}
cellLinesInFinal <- function() {
getData("Supplementary Figure 7") %>%
pull(filename) %>%
gsub(
"^wgEncodeCshlLongRnaSeq(.*)Cell.*",
"\\1",
.
) %>%
unique() %>%
sort()
}
RNAprepTable <- function() {
final <- getData("Supplementary Figure 7") %>%
select(filename) %>%
distinct() %>%
mutate(filename = str_replace(filename, "^(.*)\\.bedRnaElements.*", "\\1"))
dataUrl <- "https://github.com/GranderLab/miR34a_asRNA_project/raw/master/"
url <- fileMap(type = "txt")["Supplementary Figure 7"][[1]]
read_tsv(gzcon(url(file.path(dataUrl, url)))) %>%
filter(X__15 %in% pull(final, filename)) %>%
rename(`rna extract` = X__3) %>%
select(`rna extract`) %>%
count(`rna extract`)
}
All available whole cell RNAseq splice junction data from the ENCODE project originating from the Cold Spring Harbor Lab from 38 cell lines was downloaded from the UCSC genome browser with the script entitled “lnc34a splice junctions” in the data-raw/saveRDS.R file. Of these cell lines, 36 had spliced reads mapping to the plus strand of chromosome 1 and in the region between the lnc34a start (9241796) and transcription termination (9257102) site (note that miR34a asRNA resides totally within this region). Splice junctions from the following cell lines were included in the final figure: A549, Ag04450, Bj, Cd20, Cd34mobilized, Gm12878, H1hesc, Haoaf, Haoec, Hch, Helas3, Hepg2, Hfdpc, Hmec, Hmepc, Hmscat, Hmscbm, Hmscuc, Hob, Hpcpl, Hpiepc, Hsavec, Hsmm, Huvec, Hvmf, Hwp, Imr90, Mcf7, Monocd14, Nhdf, Nhek, Nhemfm2, Nhemm2, Nhlf, Skmc, Sknsh. All splice junctions were plotted and colored according to the number of reads corresponding to each. Information regarding the RNA extraction is included below:
Number of samples from included RNA extraction methods:
RNAprepTable()
| rna extract | n |
|---|---|
| Long PolyA- RNA | 10 |
| Long PolyA+ RNA | 17 |
| Total RNA | 20 |
#locus
data <- tibble(
gene = readr::parse_factor(
c(rep("miR34a asRNA", 5), rep("lnc34a", 3)),
levels = c("miR34a asRNA", "lnc34a")
),
feature = c(
"exon", "intron", "exon", "intron",
"exon", "exon", "intron", "exon"
),
start = c(
9242262, 9242375, 9243691, 9243866,
9251451, 9241796, 9242354, 9256971),
stop = c(
9242375, 9243691, 9243866, 9251451,
9252148, 9242354, 9256971, 9257102
)
)
#splice junctions
splJnc <- getData("Supplementary Figure 7") %>%
mutate(cellline = gsub(".*LongRnaSeq(.*)Cell.*", "\\1", filename)) %>%
select(cellline, start, stop, score2) %>%
group_by(start, stop) %>%
summarize(n = sum(score2)) %>%
ungroup() %>%
filter(n > 2) %>%
arrange(desc(n)) %>%
mutate(y = 1:length(.data$n))
#plot rmarkdown
###locus
p1 <- ggplot(data = NULL) +
gggenes::geom_gene_arrow(
data = filter(data, feature == "exon"),
aes(xmin = start, xmax = stop, y = gene, fill = gene),
arrowhead_width = unit(0, "mm"),
arrowhead_height = unit(0, "mm"),
colour = "gray"
) +
ggthemes::theme_few() +
ggthemes::scale_fill_ptol() +
geom_segment(
data = filter(data, feature == "intron"),
aes(x = start, xend = stop, y = gene, yend = gene),
linetype = "dotted",
colour = "gray",
size = 1
) +
xlim(9241000, 9257900) +
labs(x = "Chromosome 1", y = "Genes") +
guides(fill = FALSE)
##splice junctions
p2 <- ggplot(data = NULL) +
gggenes::geom_gene_arrow(
data = splJnc,
aes(xmin = start, xmax = stop, y = y, fill = n),
arrowhead_width = unit(0, "mm"),
arrowhead_height = unit(0, "mm"),
arrow_body_height = unit(1, "mm"),
colour = "gray"
) +
viridis::scale_fill_viridis() +
ggthemes::theme_few() +
theme(
axis.title.x = element_blank(),
legend.position = "top",
axis.text = element_blank(),
axis.ticks = element_blank()
) +
labs(y = "Splice junctions") +
xlim(9241000, 9257900) +
guides(fill = guide_colourbar(title = "Reads", title.position = "top", title.hjust = 0.5))
grobz <- lapply(list(p1, p2), ggplotGrob)
g <- rbind(grobz[[2]], grobz[[1]], size = "last")
grid.newpage()
grid.draw(resize_heights(g, unit(c(3,1), "null")))
#plot pdf
#genes
p1 <- ggplot(data = NULL) +
gggenes::geom_gene_arrow(
data = filter(data, feature == "exon"),
aes(xmin = start, xmax = stop, y = gene, fill = gene),
arrowhead_width = unit(0, "mm"),
arrowhead_height = unit(0, "mm"),
arrow_body_height = grid::unit(1, "mm"),
colour = "gray",
lwd = 0.1
) +
ggthemes::theme_few() +
ggthemes::scale_fill_ptol() +
geom_segment(
data = filter(data, feature == "intron"),
aes(x = start, xend = stop, y = gene, yend = gene),
linetype = "dotted",
colour = "gray",
size = 0.25
) +
xlim(9241000, 9257900) +
labs(x = "Chromosome 1", y = "") +
guides(fill = FALSE) +
theme(
axis.text = element_text(size = 6),
axis.title.x = element_text(size = 6),
axis.title.y = element_text(size = 6, margin = margin(r = 8, "cm")),
axis.ticks.length = unit(0.5, "mm"),
axis.ticks = element_line(size = 0.15),
panel.border = element_rect(fill = NA, size = 0.1),
plot.margin = unit(c(0.01, 1, 0.01, 1), "mm")
)
#splice junctions
p2 <- ggplot(data = NULL) +
gggenes::geom_gene_arrow(
data = splJnc,
aes(xmin = start, xmax = stop, y = y, fill = n),
arrowhead_width = unit(0, "mm"),
arrowhead_height = unit(0, "mm"),
arrow_body_height = unit(2, "pt"),
colour = NA,
lwd = 0.1,
show.legend = TRUE
) +
ggthemes::theme_few() +
viridis::scale_fill_viridis() +
theme(
axis.title.x = element_blank(),
axis.title.y = element_text(size = 6),
legend.position = "top",
legend.title = element_text(size = 7),
legend.text = element_text(size = 6),
legend.box.spacing = unit(3, "pt"),
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.border = element_rect(fill = NA, size = 0.1),
plot.margin = unit(c(0.01, 1, 0.01, 1), "mm"),
strip.text.y = element_text(angle = 0)
) +
labs(y = "Spliced reads") +
xlim(9241000, 9257900) +
guides(fill = guide_colourbar(
title = "Read count",
title.position = "top",
title.hjust = 0.5,
barheight = unit(4, "pt"),
barwidth = unit(50, "pt")
))
grobz <- lapply(list(p1, p2), ggplotGrob)
g <- rbind(grobz[[2]], grobz[[1]], size = "last")
g <- resize_heights(g, unit(c(6, 1), "null"))
# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Supplementary Document 1b"][[1]])
# ggsave(
# plot = g,
# filename = path,
# device = cairo_pdf,
# height = 60,
# width = 83,
# units = "mm"
# )
Splice junctions (top) detected in RNAseq data from the ENCODE project and antisense genes (bottom) at the miR34a locus. Splice junctions are colored according to the corresponding total read count. In cases where the exact same read was detected multiple times the read count was summed.
Multiple splice junctions correspond to the miR34a asRNA transcrips and its isoforms (Supplementary Fig 1d.) with those being the most highly expressed corresponding to the annotated miR34a asRNA transcript. Despite this, no splice junctions appear to correspond to the intron in the lnc34a transcript. This potentially indicates that lnc34a is tightly regulated and specifically expressed in the CCSC context, as claimed by the authors. An alternative intrepretation could be that lnc34a expression is present in a subset of the examined cell lines although at too low levels to be detected. Finally, lnc34a may not be expressed in any of the cell lines examined.
sessionInfo()
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.3
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] KMsurv_0.1-5 survival_2.41-3
## [3] broom_0.4.3 bindrcpp_0.2
## [5] gtable_0.2.0 ggthemes_3.4.0
## [7] printr_0.1 forcats_0.2.0
## [9] stringr_1.2.0 dplyr_0.7.4
## [11] purrr_0.2.4 readr_1.1.1
## [13] tidyr_0.8.0 tibble_1.4.2
## [15] ggplot2_2.2.1.9000 tidyverse_1.2.1
## [17] knitr_1.19 miR34AasRNAproject_0.0.0.0001
##
## loaded via a namespace (and not attached):
## [1] viridis_0.5.0 httr_1.3.1 viridisLite_0.3.0
## [4] jsonlite_1.5 splines_3.4.3 modelr_0.1.1
## [7] assertthat_0.2.0 highr_0.6 selectr_0.3-1
## [10] cellranger_1.1.0 yaml_2.1.16 progress_1.1.2.9002
## [13] gggenes_0.2.0.9003 pillar_1.1.0.9000 backports_1.1.2
## [16] lattice_0.20-35 glue_1.2.0 digest_0.6.15
## [19] RColorBrewer_1.1-2 rvest_0.3.2 colorspace_1.3-2
## [22] htmltools_0.3.6 Matrix_1.2-12 plyr_1.8.4
## [25] psych_1.7.8 XML_3.98-1.9 pkgconfig_2.0.1
## [28] haven_1.1.1 scales_0.5.0.9000 withr_2.1.1.9000
## [31] ansistrings_1.0.0.9000 lazyeval_0.2.1 cli_1.0.0.9001
## [34] mnormt_1.5-5 magrittr_1.5 crayon_1.3.4
## [37] readxl_1.0.0 evaluate_0.10.1 nlme_3.1-131
## [40] xml2_1.2.0 foreign_0.8-69 tools_3.4.3
## [43] prettyunits_1.0.2 hms_0.4.1 liftr_0.8
## [46] rgeolocate_1.0.1 munsell_0.4.3 compiler_3.4.3
## [49] rlang_0.2.0.9000 rstudioapi_0.7 labeling_0.3
## [52] rmarkdown_1.9 curl_3.1 rematch2_2.0.1
## [55] reshape2_1.4.3 R6_2.2.2 gridExtra_2.3
## [58] lubridate_1.7.1 bindr_0.1 rprojroot_1.3-2
## [61] stringi_1.1.6 parallel_3.4.3 Rcpp_0.12.15
## [64] ggfittext_0.5.0 tidyselect_0.2.3